Django通用视图模型过滤

时间:2017-07-19 01:56:25

标签: django django-models django-generic-views

所以基本上我有这个继承自ListView的通用视图,我想要它做的是采取某种形式的参数(比如字符串或"选项")然后根据那些过滤我的模型参数。

我已经找了两天,似乎找不到这个。我一直在玩覆盖get_queryset函数,也只是尝试直接过滤,如下所示:

  model =  product.objects.filter(pk__in=[1,2,3,4,5])

然而大多数时候它只是给我这个错误:

/python3.5/site-packages/django/views/generic/list.py", line 38, in get_queryset

    queryset = self.model._default_manager.all()
AttributeError: 'QuerySet' object has no attribute '_default_manager'

我真的不需要"解决方案"如果有人能够指出我可以在这里阅读的内容,我会感觉很好,因为我只能找到基本的描述。

由于

3 个答案:

答案 0 :(得分:1)

将它分成两行:

model = Product

queryset = Product.objects.filter(pk__in=[1,2,3,4,5])

它会起作用。

答案 1 :(得分:1)

尝试,

class YourView(ListView):
    model = product

    def get_queryset(self):
        queryset = super(YourView, self).get_queryset()
        #your condition here.
        return queryset.filter(pk__in=[1,2,3])

答案 2 :(得分:0)

在“ views.py”中实现额外的功能以处理搜索