Django 通用视图模型过滤

Django Generic View Model Filtering

所以基本上我有这个继承自 ListView 的通用视图,我希望它做的是采用某种参数(如字符串或 "options"),然后根据这些参数过滤我的模型.

我找了两天,似乎找不到太多相关信息。我玩过重写 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'

我真的不需要 "solution" 如果有人能指出我可以深入阅读的地方,我会很好,因为我只能找到基本的描述。

谢谢

把它分成两行:

model = Product

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

它会起作用。

试试,

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])

在您的 "views.py" 中实现一个额外的功能来处理搜索