我希望能够将 URL 中捕获的变量传递给 Q 对象以获得通用视图。
我创建了一个通用视图,它作为 my_views.view 导入,它处理分页、排序、过滤等事情......
我需要使用 Q 对象,因为对于某些页面,将需要一些 OR 过滤器。每个页面还将根据不同的字段(和模型)进行过滤(因此是通用视图)。
例子:
view_customers_info = {
"queryset" : Customer.all(),
'qobject': Q(status=stat),
"extra_context" : {
"title" : 'View Customers',
},
'template_name': 'customer/view.html',
}
urlpatterns = patterns('',
url(r'^customer/(?P<stat>\w+)/$', my_views.view, view_customers_info),
)
在此示例中,此行抱怨 stat 不是全局名称:
'qobject': Q(status=stat),
如何将 URL 中捕获的变量传递给字典 view_customers_info?
我不能简单地将 Q 对象移动到通用视图中,因为其他页面将具有如下 Q 对象:
'qobject': (Q(type=type) | Q(status=stat)),
谢谢。