class Article(models.Model):
# usefull staff
category = models.ForeignKey("Category")
class Category(models.Model):
parent = models.ForegnKey('self')
我想将类别选择器显示为<select>
字段,其中包含已排序的类别树。
它应该看起来像
top level category1
lower level1
lower level2
even lower level
even lower level 2
lower level3
top level category2
lower level500
这是最好的方法吗?我希望使用来自ForeignKey类的继承,但它很复杂。也许整个问题是“如何继承多重继承的类?”
答案 0 :(得分:0)
使用django-mptt表示数据库中的类别树。然后,您可以按每个类别的“左”值进行排序。
答案 1 :(得分:0)
我是通过继承ForeignKey类和重写方法
来实现的def formfield():
return MyChoiceField(choices = get_category_tree())
和MyChoiceField
是ChoiceField
的孩子,我已经更正了验证。