Встречается на собеседованиях • сегодня
Что можно написать, когда одна таблица ссылается на другую с помощью on_delete
При определении ForeignKey в Django, параметр on_delete указывает, что должно произойти при удалении связанного объекта. Основные варианты:
CASCADE(по умолчанию) - удалить все связанные объектыPROTECT- запретить удаление, пока есть ссылкиSET_NULL- установить NULL (требует null=True)SET_DEFAULT- установить значение по умолчаниюSET()- установить конкретное значениеDO_NOTHING- ничего не делать (опасно, может вызвать ошибки БД)
Пример:
python
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 - для опциональных связей.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы