我有一个模型的详细视图,我想将它与产品列表一起显示,并试图在这个视图中集成django_filter。
错误消息
TypeError at /collections/圣诞/? takes =mens,获取上下文数据需要精确的2个参数(1给定)
过滤器
class ProductFilter(django_filters.FilterSet):
class Meta:
model = Product
fields = ['categories']
细节视图
class collection_detail(DetailView):
model = Collection
def get_context_data(self, request, **kwargs):
context = super(collection_detail, self).get_context_data(**kwargs)
context['collection_list'] = ProductFilter(request.GET, queryset=Product.objects.filter(collection=self.object.id).filter(structure='parent'))
return context
我打算怎么做
类别筛选器是在链接列表中预先定义的,因此当用户单击与特定类别相关的集合时,详细信息视图的url将类似于/ collection /圣诞/? clicks =mens。
我在这里做错了什么?甚至有可能这样做吗?
发布于 2017-06-30 11:38:45
在重写的方法中缺少*args
。
class collection_detail(DetailView):
model = Collection
def get_context_data(self, *args, **kwargs):
context = super(collection_detail, self).get_context_data(*args, **kwargs)
context['collection_list'] = ProductFilter(self.request.GET, queryset=Product.objects.filter(collection=self.object.id).filter(structure='parent'))
return context
https://stackoverflow.com/questions/44853573
复制