如何在 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 数据库请求中进行数学过滤?的主要内容,如果未能解决你的问题,请参考以下文章