Django QuerySet滤波器根据嵌套模型的内部计算



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

  • 必需图:一个正整数
  • 个人 - 另一个模型,姓名,年龄,curr_week_visits

我想过滤以下计算为真的所有行:

必需_visits__minus__person__curr_week_visits__gt = 0

用语:模型所需的访问减去人的当前几周访问大于0

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

尝试使用 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)

最新更新