【发布时间】:2018-05-28 09:38:10
【问题描述】:
我正在使用 django-filter v1.1.0 ,django 1.11。我想要一个模型的动态过滤器。我创建了 filters.py ,其中包含模型过滤器的相应配置。 This site 告诉你:
它将生成一个带有搜索字段的 Django 表单以及 返回过滤后的查询集。
这里指的是SomeModelFilter函数。我尝试将len 和objects 函数应用于它的对象,但它返回了
AttributeError: 'SomeModelFilter' object has no attribute 'len'
AttributeError: 'SomeModelFilter' object has no attribute 'objects'
我想获取过滤后的内容。对我来说,它似乎不是一个 QuerySet。
filters.py
from project_app.models import *
import django_filters
class SomeModelFilter(django_filters.FilterSet):
class Meta:
model = SomeModel
fields = ['field_a', 'field_b', 'field_c', 'field_d']
views.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 对象中。
【问题讨论】:
-
你能发布完整的代码吗?
-
@neverwalkaloner,代码的其他部分与问题无关。
-
看起来在
somemodel_filter初始化后某处出现错误。如果您也可以添加视图和完整的回溯,那就太好了。 -
@neverwalkaloner 添加了打印语句,它会给出错误。我认为这应该足够了。我只想要
somemodel_filter的内容
标签: python django django-filter