使用 django 过滤器基于上下文数据的过滤器模型



我有一个模型的详细视图,我想与产品列表一起显示,我试图django_filter集成到这个视图中。

错误信息

TypeError at/collections/christmas/?category=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 将类似于/collections/christmas/?category=mens 。

我在这里具体做错了什么?甚至有可能做到这一点吗?

重写的方法中缺少*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

最新更新