我有两个模型:Industry
和 Employer
,如下所示:
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 文档中找到这个并且可以找到..
最佳答案
这是 Django Annotations 的一个经典问题
尝试:
from django.db.models import Count
Industry.objects.annotate(num_employers=Count('employer').filter(num_employers__gt=0)
关于Django ORM 用于计算foreignkey 的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17279891/