Django ORM 用于计算foreignkey 的引用

标签 django django-orm

我有两个模型:IndustryEmployer,如下所示:

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/

相关文章:

python - 如何从 Django REST API 将图像加载到 React?

python - 如何在django模型中选择相关的,所以它不会产生很多子查询

mysql - Django 通用外键与自定义手动字段性能/优化

django - 通过过滤对象列表来获取对象列表

python - django 注释一个函数,该函数返回具有特征的所有对象中字段的最大值

django - 如果项目位于 python 列表中,则注释 bool 字段

javascript - 从域中提取二级域? - Python

python - 将实时数据发送到 Django 前端

mysql - 禁止为多个模型创建对象

Django migrate 工作,但不反射(reflect)在现场