2013-06-24 98 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