(Django)如何使用查询集比较两个对象的两个属性?

(Django)如何使用查询集比较两个对象的两个属性?,django,django-queryset,Django,Django Queryset,当我有一个属性为salary(salary=models.PositiveIntegerField())和boss(boss=models.ForeignKey('employe',null=True))的类employe时。 如何使用django查询集找到工资高于其上司工资的员工?您需要使用获取上司工资,然后将字段与以下内容进行比较: from django.db.models import F Employee.objects.annotate(boss_salary=F("boss__sa

当我有一个属性为salary(salary=models.PositiveIntegerField())和boss(boss=models.ForeignKey('employe',null=True))的类employe时。 如何使用django查询集找到工资高于其上司工资的员工?

您需要使用获取上司工资,然后将字段与以下内容进行比较:

from django.db.models import F
Employee.objects.annotate(boss_salary=F("boss__salary"))\
                .filter(salary__gt=F("boss_salary"))