【问题标题】:(Django)How can I compare two attributes of two objects using query sets?(Django)如何使用查询集比较两个对象的两个属性?
【发布时间】:2017-03-02 21:50:34
【问题描述】:

当我有一个具有属性salary(salary = models.PositiveIntegerField()) 和boss(boss = models.ForeignKey('employe', null=True)) 的班级雇员时。 如何使用 django 查询集找到薪水高于老板薪水的员工?

【问题讨论】:

    标签: django django-queryset


    【解决方案1】:

    您需要使用annotate 来获取老板的薪水,然后将字段与以下内容进行比较:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-05-08
      • 1970-01-01
      • 2023-03-31
      • 2017-12-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多