2010-02-05 80 views
1

我希望能夠將URL中捕獲的變量傳遞給通用視圖的Q對象。django通用視圖中的動態Q對象

我創建了導入爲my_views.view它處理之類的東西分頁,排序,過濾等一般視圖...

我需要用Q對象,因爲對於某些頁面存在需要一些或過濾器。每個頁面也將根據不同的字段(和模型)進行過濾(因此是通用視圖)。

例子:

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

在這個例子中,該行抱怨不被統計的全局名稱:

'qobject': Q(status=stat), 

如何我可以通過夾在URL的字典view_customers_info變量?

我不能簡單地移動是Q對象爲普通視圖,因爲其他頁面將其Q對象,如下列:

'qobject': (Q(type=type) | Q(status=stat)), 

感謝。

回答

0

我認爲你只是想念字段名稱周圍的引號。

'qobject': Q(status=("%s" % stat)),