Как вы предотвращаете каскадное удаление Django на объекте User? - PullRequest
1 голос
/ 11 ноября 2010

Когда пользователь (auth.user) удаляется, я бы хотел, чтобы каскадное удаление не очищало определенные таблицы.Как я могу помешать модели пользователя Django выполнить каскадное удаление?

Ответы [ 2 ]

4 голосов
/ 11 ноября 2010

Вариант 1:

  • Убедитесь, что все объекты, которые ссылаются на целевой объект, который вы хотите удалить, поддерживают null = True

  • Для объекта, который вы хотите удалить, выполните итерацию всех обратных отношений (т. Е. Тех, которые указывают на удаляемый объект) и установите для них значение None, не забывая сохранить

  • Удалить целевой объект.

Вариант 2:

0 голосов
/ 11 ноября 2010

Использовать недавно выпущенный django 1.3a1

http://docs.djangoproject.com/en/dev/ref/models/fields/#django.db.models.ForeignKey.on_delete

...