@Cyber_bober

Как фильтровать по нескольким параметрам?

Привет, как проводить фильтрацию по нескольким параметрам в Django? Например, я хочу вывести по 2-3 рубрикам или 3-4 тегам одновременно?
Например, одну категорию я вывожу вот так
url(r'^category/(?P<id>\d+)$', views.blog_category, name='category'),

теги, аналогично. Как сделать множественную выборку на уровне url и формирования запроса, подскажите пожалуйста?
  • Вопрос задан
  • 737 просмотров
Решения вопроса 1
DmitryVoronkov
@DmitryVoronkov
Python Developer
Ну например так:
url(r'^category/(?P<pk1>\d+)/(?P<pk2>\d+)/(?P<pk3>\d+)/$', views.index, name='category'),

class Index(generic.ListView):
    model = Category
    paginate_by = 3
    ordering = '-id'
    template_name = 'articles/index.html'
    def get_queryset(self):
        return Category.objects.filter(id__in=(self.kwargs('pk1'), self.kwargs('pk2'), self.kwargs('pk3')))

index = Index.as_view()
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы