Почему у Django нет опции on_update=models.CASCADE?

Мой вопрос исходит из ситуации, когда я хочу эмулировать ON UPDATE CASCADE в SQL (когда я обновляю id и у меня есть Foreignkey, он будет автоматически обновлен) в Django, но я понял, что (очевидно) не существует собственного способа сделать это.

Я посетил этот старый вопрос , где он пытается сделать то же самое.

Мой вопрос: почему у Django нет нативной опции? Является ли это плохой практикой? Если да, то почему? Принесет ли это проблемы моему программному обеспечению или структуре?

Есть ли простой способ сделать это?

Заранее спасибо!

Плохая практика - думать об обновлении ключевых полей. Обратите внимание, что это поле используется для генерации индекса и других вычислительно дорогих операций. Именно поэтому ключевые поля должны содержать уникальное и неповторяющееся значение, которое идентифицирует запись. Оно не обязательно должно иметь прямое значение с содержимым регистра, это может быть автонумерованное значение. Если вам нужно обновить его, вам может понадобиться поместить значение в другое поле таблицы, чтобы иметь возможность сделать это, не затрагивая взаимосвязи.

По этой причине вы не найдете в Django операции, которую вы ищете.

Вернуться на верх