Django的複雜查詢我有兩個型號,使得不使用循環
class Employer(models.Model):
name = models.CharField(max_length=1000,null=False,blank=False)
eminence = models.IntegerField(null=False,default=4)
class JobTitle(models.Model):
name = models.CharField(max_length=1000,null=False,blank=False)
employer= models.ForeignKey(JobTitle,unique=False,null=False)
class People(models.Model):
name = models.CharField(max_length=1000,null=False,blank=False)
jobtitle = models.ForeignKey(JobTitle,unique=False,null=False)
我想列出隨機5名僱主和僱主每一個職位。但是,應該從人數最多的僱主的前10個職位中提取職位。
一種方法可能是
employers = Employer.objects.filter(isActive=True).filter(eminence__lt=4).order_by('?')[:5]
for emp in employers:
jobtitle = JobTitle.objects.filter(employer=emp)... and so on.
然而,遍歷選擇的僱主可能會ineffiecent。有沒有辦法在一個查詢中做到這一點?
謝謝
你能看我的答案嗎?我不確定實際的解決方案..謝謝 – brsbilgic