2011-11-09 34 views
2

所以我有一些Django的1.3车型是这样的:基于.Count之间的筛选(在Django一个forgein键字段)的查询集

class Type(models.Model): 
    is_bulk = models.BooleanField() 

class Component(models.Model): 
    parent = models.ForeignKey(Type) 

一些Type的有0 Component的,有的有1或2等等。我该如何编写一个QuerySet来过滤所有Type> 0的组件。即排除具有0个组件的类型?

回答

4
from django.db.models import Count 
Type.objects.annotate(component_count=Count('component')).exclude(component_count=0)