2011-11-09 56 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)