Что можно написать, когда одна таблица ссылается на другую с помощью on_delete

Python Middle Без компании
Что можно написать, когда одна таблица ссылается на другую с помощью on_delete
Ответы
При определении ForeignKey в Django, параметр `on_delete` указывает, что должно произойти при удалении связанного объекта. Основные варианты: - `CASCADE` (по умолчанию) - удалить все связанные объекты - `PROTECT` - запретить удаление, пока есть ссылки - `SET_NULL` - установить NULL (требует null=True) - `SET_DEFAULT` - установить значение по умолчанию - `SET()` - установить конкретное значение - `DO_NOTHING` - ничего не делать (опасно, может вызвать ошибки БД) Пример: ``` class Author(models.Model): name = models.CharField(max_length=100) class Book(models.Model): author = models.ForeignKey( Author, on_delete=models.SET_NULL, null=True, blank=True ) title = models.CharField(max_length=200) ``` Выбор зависит от бизнес-логики. `CASCADE` подходит для композиции, `PROTECT` - для важных связей, `SET_NULL` - для опциональных связей.