2010-10-25 38 views
1
class Article(models.Model): 
    # usefull staff 
    category = models.ForeignKey("Category") 
class Category(models.Model): 
    parent = models.ForegnKey('self') 

我想显示类别选择器作为<select>字段与其中排序的类别树。 它应该看起来像如何在Django的ForeignKey字段中自定排序顺序

top level category1 
    lower level1 
    lower level2 
    even lower level 
    even lower level 2 
    lower level3 
top level category2 
    lower level500 

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

回答

0

我通过继承ForeignKey的类和压倒一切的方法

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

MyChoiceFieldChoiceField,在那里我已经纠正了验证一个孩子做到了。

0

使用django-mptt来表示数据库中的类别树。然后,您可以按每个类别的“左”值进行排序。