1
這是原來的類模型:訂購MPTT樹
class Category(MPTTModel):
name = models.CharField(max_length=50, unique=True)
parent = TreeForeignKey('self', null=True, blank=True, related_name='children')
def __unicode__(self):
return self.name
class MPTTMeta:
order_insertion_by = ['name']
然後我需要訂購的範疇,所以我改變了它類似如下:
class Category(MPTTModel):
name = models.CharField(max_length=50, unique=True)
order = models.SmallIntegerField() <<<<<<<<<
parent = TreeForeignKey('self', null=True, blank=True, related_name='children')
def __unicode__(self):
return self.name
class MPTTMeta:
order_insertion_by = ['order'] <<<<<<<<<
我改變了Django管理從聲明:
admin.site.register(Category, MPTTModelAdmin)
要:
class CategoryAdmin(MPTTModelAdmin):
list_display = ('name', 'order')
list_editable = ('order',)
admin.site.register(Category, CategoryAdmin)
然後,從管理控制面板進行一些編輯後,一切都崩潰了。我無法準確描述發生了什麼事,但看起來好像是lft
,rght
,level
和parent_id
這裏發生了這些變化。
我是否在錯誤的上下文中使用order_insertion_by
?這是爲了別的嗎?我試圖搜索文檔,但沒有得到有用的答案。
請幫忙。