Пространство имен в представлениях классов - PullRequest
0 голосов
/ 07 февраля 2012

Мне не удается получить идентификатор пространства имен в представлении классов. Кто-нибудь знает?

Я не хочу фильтровать набор запросов, чтобы получить только подходящие модели для каждого пространства имен.

Вот код, который у меня есть:

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 Ответ

3 голосов
/ 07 февраля 2012

Это не то, для чего нужны пространства имен, в этом контексте.Они просто группируют представления вместе для целей обращения.

Если вы хотите передать переменную вашему представлению, вам нужно сделать это явно:

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