Я использую Django:
>>> django.VERSION
(1, 11, 15, u'final', 0)
MPTT:
django-mptt 0.9.1
В моделях:
from mptt.models import MPTTModel, TreeForeignKey
class Location(MPTTModel):
id = models.AutoField(primary_key=True)
name = models.CharField(max_length=75,null=False)
parent = TreeForeignKey('self', on_delete=models.PROTECT, null=True, blank=True)
Я могу правильно просматривать и добавлять согласно django-mptt документацияНо я не могу удалить дочерний узел.Это портит всю древовидную структуру.Вот как удаление используется в представлениях:
Location.objects.get(id=loc_id).delete()
где loc_id - это идентификатор узла, который я хочу удалить.Я не уверен, как правильно использовать Delete или, возможно, есть ошибка в mptt.Я искал любой пример на его официальном документе.Здесь не сказано ничего, кроме следующего:
class mptt.models.MPTTModel (* args, ** kwargs)
MPTTModel.delete (* args, ** kwargs)
Вызов delete для узла удалит его, а также его полное поддерево, в отличие от повторного присоединения всех подузлов к его родительскому узлу.Для модели MPTT нет аргументов, все аргументы будут переданы непосредственно в Model.delete django.
delete ничего не вернет.
Спасибо