Встречается на собеседованиях • сегодня

Зачем нужен атрибут on_delete

Атрибут on_delete используется в Django для указания поведения при удалении связанной записи. Он определяет, что произойдёт с объектом, если связанный объект будет удалён.

Основные варианты:

  • 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)

Если автора удалят, у книги author станет NULL.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы