이 원래의 카테고리 모델 : 그런 다음주문 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'] <<<<<<<<<
그리고 나는 변경 장고 관리자 선언에서 :
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
을 사용하고 있습니까? 그것은 다른 무엇인가? 나는 문서를 찾으려고했지만 유용한 대답을 얻지 못했다.
도와주세요.