Django 自我关系的聚合与诠释

Django 自我关系的聚合与诠释,django,django-models,Django,Django Models,如果我有这个模型: class Person(models.Model): name=models.CharField(max_length=28) mother=models.ForeignKey(self,null=True,blank=True) 我正在尝试进行一个查询,其中添加了一个注释,其中包括每个Person对象的子对象数。这可能吗?或者我需要添加一个整型字段来手动保存此记录吗?这应该可以: Person.objects.annotate(child_count=Count

如果我有这个模型:

class Person(models.Model):
  name=models.CharField(max_length=28)
  mother=models.ForeignKey(self,null=True,blank=True)
我正在尝试进行一个查询,其中添加了一个注释,其中包括每个Person对象的子对象数。这可能吗?或者我需要添加一个整型字段来手动保存此记录吗?

这应该可以:

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

谢谢如果我添加一个字段granger,它也是对Person的引用,有没有办法区分一个人的子女和孙子辈?您需要使用
相关的\u name
属性。但是,如果要存储多个级别,最好使用以下内容。