获取Django中另一个模型引用的对象

时间:2014-11-21 19:01:42

标签: django

我有一个员工模型和一个职位模型。此外,我有许多系统可用的职位(超过2000)。

我需要显示仅在系统中使用的位置。并在Django中使用QuerySet忽略其他人。

SQL中的

我会做这样的事情。

    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. 

1 个答案:

答案 0 :(得分:2)

你应该能够在ForeignKeyField关系上反向执行此操作。

Position.objects.filter(employee_set__isnull=False)