2012-02-07 3 views
0

클래스 뷰에서 네임 스페이스 name-id를 가져올 수 없습니다. 누구?클래스 뷰의 네임 스페이스

내가 수행 할 수없는 일은 queryset을 필터링하여 각 네임 스페이스에 적절한 모델 만 가져 오는 것입니다. 여기

는 내가 가지고있는 코드 :

urls.py

urlpatterns = patterns('',  
    url(r'^art/', include('items.urls', namespace='art', app_name='items')), 
    url(r'^electronics/', include('items.urls', namespace='electronics', app_name='items')), 
) 

items.urls.py

url(r'^items/$', ItemListView.as_view(model=models.MyItem), name='item_list'), 

ItemListView.py

,
from django.views.generic import ListView 

class ItemListView(ListView) 
    def get_queryset(self): 
     qs = super(ItemListView, self).get_queryset() 
     qs... # <- Here I want to filter for MyItem.namespace = namespace (!) 
     return qs 
+1

나는 네임 스페이스가 어떤 뷰에 전달되는 생각하지 않습니다. 뒤집기 위해서가 아닌가? –

+0

그런 경우는 아니지만 블로그 앱을 생각해 볼 수 있습니다. 여러 사용자에게 동일한 블로그 앱을 사용하고 싶다면 우리는 네임 스페이스를 사용하여 앱의 여러 인스턴스를 얻을 수 있습니다 ... ..하지만 사용자가 작성한 게시물 만 얻고 싶다면 우리는 네임 스페이스를 queryset. (좋아, 블로그 예에서 url-param을 사용하여 사용자 이름을 얻을 수 있지만,이 경우 해결 방법이 될 것이지만 스마트 솔루션이 아님을 알고 있습니다.) – jgsogo

답변

3

이 문맥에서는 네임 스페이스가 아닙니다. 반전 목적으로보기를 그룹화하는 것입니다. 당신이보기에 변수를 전달하려면

, 당신은 명시 적으로 수행해야합니다

url(r'^/(?P<category>\s+)/items/$', ItemListView.as_view(model=models.MyItem), name='item_list'), 
+0

예, 마음이 엉망이되었습니다 ... 감사합니다. . – jgsogo

관련 문제