Как передать атрибут для фильтра в базовых представлениях на основе date_base в django - PullRequest
0 голосов
/ 07 декабря 2011

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

 url(r'^archive/month/(?P<year>\d+)/(?P<month>\w+)$',
        'django.views.generic.date_based.archive_month',
        {
            'queryset': Entry.objects.all(), 
            'date_field': 'pub_date',
        },
        name='blog_archive_month',
       ),

Есть ли способ передать атрибут в этом URL-адресе, который можно использовать для фильтрации объектов. Я хочу что-то вроде этого

 url(r'^(?P<creator_id>\d+)/archive/month/(?P<year>\d+)/(?P<month>\w+)$',
        'django.views.generic.date_based.archive_month',
        {
            'queryset': Entry.objects.filter(creator.id = creator_id), 
            'date_field': 'pub_date',
        },
        name='blog_archive_month',
       ),

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

1 Ответ

0 голосов
/ 07 декабря 2011

Я бы лично посмотрел на это. На мой взгляд, в вашем файле URL слишком много логики. Вот что вы бы вернули, если бы делали прямой список объектов, например:

return object_list(request, q, paginate_by=20, extra_context={})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...