2010-02-05 2 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), 

어떻게 사전 view_customers_info에 URL에 걸려 변수를 전달할 수 있습니다? 다른 페이지 Q 개체가 있기 때문에

은 단순히 다음과 같이 일반보기에 그 Q 개체를 이동할 수 없습니다 :

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

감사합니다.

답변

0

나는 필드 이름 주변의 따옴표가 빠져 있다고 생각합니다.

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