我有以下django模型:
class Category(models.Model):
name = models.CharField(maxlength=20)
parent = models.ForeignKey('self', null=True)
请注意,字段parent
是自引用的,即类别可以包含父级。
如何查找没有子类别的所有Category
个对象?
答案 0 :(得分:6)
您可以将isnull
与related_query_name
:
class Category(models.Model):
# ...
parent = models.ForeignKey('self', null=True, related_name='children', related_query_name='child')
Category.objects.filter(child__isnull=True)
在这里,我建议至少指定一个有意义的related_name
!
如果您只指定related_name
,则related_query_name
默认为该名称(此处为:children
)。如果您不指定两者,则rqn默认为模型名称:category
,不 category_set
Category.objects.filter(category__isnull=True) # not so informative