Django: как предотвратить удаление родительского объекта при удалении его дочернего объекта

#django #django-models #django-orm

#django #django-модели #django-orm

Вопрос:

 Class A(models.Model):
    name = models.CharField()

Class B(A):
    extra_info = models.CharField()
  

Когда я удаляю объект B, его родительский объект A также удаляется, как решить эту головную боль, большое спасибо. Я использую Django 1.2.3

Ответ №1:

На самом деле это невозможно в Django 1.2, но это возможно в Django 1.3, используя on_delete .

Комментарии:

1. Боже, я не хочу тратить время на обновление django, я использовал много пакетов.

2. @user469652 — это действительно не должно быть очень сложно — Django 1.3 в значительной степени обратно совместим (см. docs.djangoproject.com/en/dev/releases/1.3 / … ).

3. Работает ли on_delete, даже если модели не связаны с использованием FK?

4. @Guandalino — как еще они могут быть связаны?

5. Я не понимаю, что наследование модели подразумевает внешний ключ.