gpt4 book ai didi

python - django-filter 和聚合函数

转载 作者:太空宇宙 更新时间:2023-11-03 14:27:02 24 4
gpt4 key购买 nike

这是一个特定于应用程序的问题:django-filter ,这里给没用过的小伙伴做个简单的说明。

f = ProductFilter(request.GET, queryset=Product.objects.all())

这一行为我们做了所有的过滤。 ProductFilter 是一个类,我们指定了过滤器(类似表单的类)。 f 是一个过滤器对象(基本上是我们要求的项目),其作用类似于列表。

现在,我想在这个 f 对象上执行 aggregate 函数(例如 Avg)。您对如何/是否可以实现有任何想法吗?

最佳答案

你的意思是这样的:

from django.db.models import Avg


class ProductFilter(django_filters.FilterSet):
...

@property
def avg(self):
qs = super(ProductFilter, self).qs

return qs.aggregate(Avg('price'))['id__avg']

因此您要添加自己的过滤器属性并在您的模板中像这样使用它:

{{ filter.avg }}

关于python - django-filter 和聚合函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18964002/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com