我正在按百分比创建过滤器。当我输入X(百分比)时,它将列出所有出席的对象。 下面的代码有效。
def my_example(self, percent):
from models import Product
return Product.objects.filter(amount=((percent * F("capacity")) / 100))
但是我想改善。我的挑战是使用django注释。我正在尝试这样的事情:
pct = Product.objects.annotate(pct=(percent * F("capacity") / 100)).filter(pct="amount")
有人有主意吗?
答案 0 :(得分:1)
您非常接近,要引用一个字段,您需要使用F
objects [Django-doc],因此可以使用:
from django.db.models import F
pct = Product.objects.annotate(
pct=percent * F('capacity') / 100
).filter(pct=F('amount'))