djangfilter获取查询

2024-05-19 12:36:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用的是django-filterv1.1.0,django1.11。我想要一个模型的动态过滤器。我创造了过滤器.py包含相应的模型过滤器配置。This site表示:

It will generate a Django Form with the search fields as well as return the filtered QuerySet.

这里指的是SomeModelFilter函数。我尝试对它的对象应用lenobjects函数,但它返回

AttributeError: 'SomeModelFilter' object has no attribute 'len'
AttributeError: 'SomeModelFilter' object has no attribute 'objects'

我想得到过滤后的内容。对我来说这似乎不是一个问题。在

过滤器.py

^{pr2}$

视图.py

    somemodel_list = SomeModel.objects.all()
    somemodel_filter = SomeModelFilter(request.GET, queryset=somemodel_list)

    print(len(somemodel_filter)) # This gives the first error
    print(somemodel_filter.objects.all()) # This gives the second error

我想得到过滤后的内容,希望它包含在somemodel_filter对象中。在


Tags: the对象函数py模型过滤器lenobjects
1条回答
网友
1楼 · 发布于 2024-05-19 12:36:30

问题就在这一行print(somemodel_filter.objects.all())somemodel_filter不是模型,而是filterset实例,因为它没有objects属性。要获取筛选的查询集,请使用qs属性,如下所示:

print(somemodel_filter.qs)

您可以找到过滤器用法的示例here。在

相关问题 更多 >