Я использую приложение django-threadedcomments, а так как в приведенной ниже модели parent является внешним ключом многопоточного комментария, он также удаляется, когда я удаляю комментарий. Однако я не хочу, чтобы это произошло. Поэтому я добавляю on_delete = models.SET_NULL
, но это, похоже, не работает. Родительский комментарий по-прежнему удаляется, когда я удаляю комментарий.django on_delete не работает
Вот часть резьбовых комментариев модели, остальные все только методы, так что я пропустил их
class ThreadedComment(Comment):
title = models.TextField(_('Title'), blank=True)
parent = models.ForeignKey('self', null=True, blank=True, default=None,
related_name='children', verbose_name=_('Parent'), on_delete=models.SET_NULL)
last_child = models.ForeignKey('self', null=True, blank=True,
verbose_name=_('Last child'))
tree_path = models.TextField(_('Tree path'), editable=False,
db_index=True)
objects = CommentManager()
Есть что-нибудь, что я делаю неправильно?
Какой двигатель базы данных вы используете? У вас есть, например, 'ON DELETE CASCADE' установлен в вашей БД? –
Какую версию Django вы используете? Каскадное поведение изменилось только в 1.3 (https://docs.djangoproject.com/en/dev/releases/1.3/#configurable-delete-cascade) –
Я использую Django 1.3 и MySQL. При удалении каскада задается значение db – Sachin