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" 中实现一个额外的功能来处理搜索
所以基本上我有这个继承自 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" 中实现一个额外的功能来处理搜索