【发布时间】:2019-09-17 15:10:49
【问题描述】:
在我的 .views 文件中添加了一个新的 def 函数后,我不断收到这个错误('function' object is not iterable),有什么想法可能是什么问题吗?
这样做的目的是过滤带有复选框的查询集。
这是我的 views.py 函数:
def FilterView(request):
qs = Product.objects.all()
ptag = request.GET.get('ptag')
if ptag == 'on':
qs = qs.filter(ptag='')
qs = filter(request)
context = {
'queryset': qs
}
return render(request, "partials/search_form.html", context)
在我的网址中:
from search.views import HomeView, FilterView
urlpatterns = [
url(r'^$', HomeView.as_view(), FilterView),
]
非常感谢!
【问题讨论】:
-
请包含您的整个堆栈跟踪
-
qs = filter(request)应该做什么? -
为什么在
urlpatterns中使用url(...)?我相信推荐path(...)。 -
你为什么将
HomeView.as_view()和FilterView作为参数传递给你的根 url? -
感谢您的回答,非常感谢!对不起,伙计们,我还是新手,但愿意学习。 :) 我使用的是 url(...) 而不是 path(...) 因为我使用的是 Django 1.10.5 版本,因为我需要使用 Haystack 并且这个 urlpattern 默认附带它。
标签: python django function filter django-views