如何在 Django 数据库请求中进行数学过滤?

Posted

技术标签:

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

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

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

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

我该怎么做?

【问题讨论】:

发布你的模型和你的最佳尝试 【参考方案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)

【讨论】:

以上是关于如何在 Django 数据库请求中进行数学过滤?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 ListAPIView 中使用 django-filter 对过滤结果进行排序

使用 Bigquery 进行网络分析,如何过滤掉恶意的不良数据,如机器人等

如何用python脚本过滤到达服务器某个站点的HTTP请求?

如何在 Django 管理自定义列中获取请求参数?

如何在 django 模板中进行数学运算? [复制]

如何使用 django rest 框架从 GET 请求的查询参数中过滤多个 id?