【问题标题】:How do I do a math filter in Django database request?如何在 Django 数据库请求中进行数学过滤?
【发布时间】:2016-10-05 22:36:29
【问题描述】:

我有一个模型,它在数据库中有以下列:“更正”和“不正确”。

我想做一个过滤器,只占用 > 80%。

F.e: (修正 * 100 / (修正 + 不正确)) > 80

我该怎么做?

【问题讨论】:

  • 发布你的模型和你的最佳尝试

标签: python django database filter models


【解决方案1】:

annotate使用F (documentation) 表达式,然后对注解进行过滤:

from django.db.models import F

YourModel.objects.annotate(ratio=100*F('corrects')/(F('corrects')+F('incorrects')))
                 .filter(ratio__gt=80)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-18
    • 1970-01-01
    • 1970-01-01
    • 2021-12-12
    • 1970-01-01
    • 2013-08-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多