如何在django ForeignKey字段中自定义排序顺序

如何在django ForeignKey字段中自定义排序顺序,django,django-models,Django,Django Models,我想将类别选择器显示为一个字段,其中包含已排序的类别树。 应该是这样的 class Article(models.Model): # usefull staff category = models.ForeignKey("Category") class Category(models.Model): parent = models.ForegnKey('self') 哪种方法最好?我希望使用ForeignKey类的继承,但它很复杂。也许整个问题是“如何从多重继承

我想将类别选择器显示为一个
字段,其中包含已排序的类别树。 应该是这样的

class Article(models.Model):
    # usefull staff
    category = models.ForeignKey("Category")  
class Category(models.Model):
     parent = models.ForegnKey('self')

哪种方法最好?我希望使用ForeignKey类的继承,但它很复杂。也许整个问题是“如何从多重继承类继承?”

用于表示数据库中的类别树。然后,您可以根据每个类别的“left”值进行排序。

我通过继承ForeignKey类和重写方法完成了排序

top level category1
  lower level1
  lower level2
    even lower level
    even lower level 2
  lower level3
top level category2
  lower level500
MyChoiceField
ChoiceField
的子项,我在这里更正了验证

def formfield():
   return MyChoiceField(choices = get_category_tree())