我有一个员工模型和一个职位模型。此外,我有许多系统可用的职位(超过2000)。
我需要显示仅在系统中使用的位置。并在Django中使用QuerySet
忽略其他人。
我会做这样的事情。
SELECT
*
FROM
positions
WHERE
position_id IN (SELECT DISTINCT position_id from employees)
在Django中,我找不到办法。 创建员工职位列表的问题
class Employee(models.Model):
first_name = models.CharField(max_length=30, verbose_name=_('first_name'))
position = models.ForeignKey('core.Position', verbose_name=_('Position'))
class Position(models.Model):
title = models.CharField(max_length=30)
#....
# query is to get the positions that are used by employees. Not one employee. ALL employees.
答案 0 :(得分:2)
你应该能够在ForeignKeyField关系上反向执行此操作。
Position.objects.filter(employee_set__isnull=False)