Django автоматически обновляет дочерние записи при обновлении главного внешнего ключа? - PullRequest
2 голосов
/ 05 января 2012

Django автоматически обновляет дочерние записи при обновлении главного внешнего ключа? Можно ли это отключить.

В документации Django я вижу функцию on.delete, но не функцию on.update.

/ vfclistsGUY

1 Ответ

2 голосов
/ 05 января 2012

Джанго вообще не трогает детей, если ты не скажешь.Даже в случае DELETE CASCADE это принудительное применение на уровне базы данных, а не в Django.

Если вы используете встроенные наборы форм для дочерних элементов вместе с формой основного объекта (или с использованием встроенных в администраторе ..то же самое), тогда Django обновит и детей , если есть какие-либо изменения в них.В противном случае, нет, Django ничего не делает.

Если вам нужно обновить дочерние элементы при сохранении, вы должны переопределить метод save вашей модели, чтобы сделать то, что нужно сделать с дочерними элементами, или использовать post_saveсигнал.

...