根据嵌套模型的内部计算的DJANGO Queryset过滤器

时间:2019-07-06 15:15:17

标签: python django django-rest-framework

我有一个具有以下字段的模型:

  
      
  • required_visits:一个正整数
  •   
  • person-另一个具有以下名称的模型:姓名,年龄,curr_week_visits
  •   

我想过滤所有满足以下计算条件的行:

  

required_visits__minus__person__curr_week_visits__gt = 0

换句话说:模型要求的访问次数减去该人当前的访问次数大于0

编写此过滤器查询集的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

尝试使用annotation with F() expression

from django.db.models import F

ModelName.objects.annotate(
    visit_difference=F('required_visits') - F('person__curr_week_visits')
).filter(visit_difference__gt=0)