2010-10-25 66 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來表示數據庫中的類別樹。然後,您可以按每個類別的「左」值進行排序。