2012-02-10 37 views
2

如果我有這樣的模式:總結和相關注釋自我

class Person(models.Model): 
    name=models.CharField(max_length=28) 
    mother=models.ForeignKey(self,null=True,blank=True) 

我試圖進行查詢,在這裏我補充一點,包括每一個Person對象有子女的數量annotaion。這可能嗎?或者我需要添加一個手動保存此記錄的整數字段?

回答

3

這應該工作:

Person.objects.annotate(child_count=Count('person')) 
+0

感謝。如果我添加一個領域姥姥,這也是對人的一種反思,是否有辦法區分一個人的子女和孫子女? – 2012-02-10 16:49:58

+3

您需要使用'related_name'屬性。但是,如果您要存儲多個級別,則最好使用類似[MPTT](https://github.com/django-mptt/django-mptt/)的內容。 – 2012-02-10 16:53:24