2013-06-24 99 views
2

计数参考我有两个型号:IndustryEmployer,按如下:Django的ORM从ForeignKey的

class Industry(models.Model): 
    name = models.CharField(max_length=255, unique=True) 


class Employer(models.Model): 
    industry = models.ForeignKey(Industry) 
    name = models.CharField(max_length=255, unique=True) 

的问题是,并非所有的行业都还没有雇主......我希望得到一个至少有一个雇主映射到他们的所有行业的清单,而不是全部。这可能与ORM不只是普通的SQL?我试图找到这个Django文档和coudlnt ..

回答

2

这是一个典型的问题Django Annotations

尝试:

from django.db.models import Count 
Industry.objects.annotate(num_employers=Count('employer').filter(num_employers__gt=0) 
+0

其实,我不能完全肯定,如果你想使用'雇主'或'雇主'。我很肯定在这种情况下,这只是'雇主',但如果我错了就纠正我,我会编辑。 – acjay