dauren101
@dauren101
Python, Django ,Vue.js

Django Rest Framework выборка по определенному полю?

Views.py
class ArticleList(generics.ListCreateAPIView):
    queryset= Article.objects.all().filter(category=14).order_by('-created')[:10]
    serializer_class= ArticleSerializer


Urls.py
url(r'^api/cat/(?P<category>[0-9]+)/$',views.ArticleList.as_view()),

Сейчас вручную подставляю 14, как туда впихнуть переменную? Чтобы брать значение после /cat/
  • Вопрос задан
  • 1185 просмотров
Решения вопроса 1
dauren101
@dauren101 Автор вопроса
Python, Django ,Vue.js
Вячеслав Рахинский @rakhinskiy
Собственно есть отличный пример

www.django-rest-framework.org/api-guide/filtering

url('^purchases/(?P.+)/$', PurchaseList.as_view()),

class PurchaseList(generics.ListAPIView):
serializer_class = PurchaseSerializer

def get_queryset(self):
"""
This view should return a list of all the purchases for
the user as determined by the username portion of the URL.
"""
username = self.kwargs['username']
return Purchase.objects.filter(purchaser__username=username)
Написано 22 часа назад
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Если я не ошибаюсь то
class ArticleList(generics.ListCreateAPIView):
    serializer_class= ArticleSerializer
    
    def get_queryset(self):
        category = self.request.GET.get('category', None)
        if category:
            return Article.objects.all().filter(category=category).order_by('-created')[:10]
        else 
            return Article.objects.all().filter().order_by('-created')[:10]
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы