Как отфильтровать данные по запросу? DRF
Стоит такая задача. Есть модель курсов и у каждого курса свой язык, который выбирается через choices. Как сделать так чтобы пользователь при нажатии на кнопку "Английский" получал курс на английском языке и т.д. По умолчанию загружается русский язык. Предположим, что наша модель такая:
LANGUAGE_CHOICES = [
('Ru', 'Русский'),
('En', 'Английский'),
]
class Course(models.Model):
name = models.CharField(max_length=100)
description = models.TextField(unique=True)
lang_course = models.CharField(max_length=50,choices=LANGUAGE_CHOICES, default='Ru')
и есть обычная классовая views.py
class CourseDetailView(generics.RetrieveAPIView):
queryset = Course.objects.all()
serializer_class = CourseDetailSerializer
Как мне сделать проверку или как-то по-другому это делается? Я не понимаю
Ответы (1 шт):
Автор решения: Антон Говоров
→ Ссылка
Как вариант - добавить фильтр.
from django_filters.rest_framework import DjangoFilterBackend
class CourseDetailView(generics.RetrieveAPIView):
queryset = Course.objects.all()
serializer_class = CourseDetailSerializer
filter_backends = [DjangoFilterBackend]
filterset_fields = ['lang_course']
Вызов:
http://*?lang_course=En