DRF для выбора только некоторых значений из ForeignKey - Django
Я использую Django Rest Framework и я новичок в DRF.
serializer.py
class ResponseSerializer(serializers.ModelSerializer):
class Meta:
model = Response
fields = [
'user_id',
'question_id',
]
Как вы видите, у меня здесь 2 поля
- user_id
- question_id
Оба они являются полями внешнего ключа
Когда кто-то заходит по этому url http://127.0.0.1:8000/api/response/add/
, он может увидеть все значения при выборе user_id
или question_id
.
urls.py
path('api/response/add/', views.response_create_view),
А это мой views.py
class ResponseCreateAPIView(generics.CreateAPIView):
serializer_class = ResponseSerializer
authentication_classes = [authentication.SessionAuthentication]
permission_classes = [permissions.IsAuthenticated]
response_create_view = ResponseCreateAPIView.as_view()
Что я хочу
- user_id должен иметь только 1 значение в списке, и это текущий пользователь.
- question_id должен иметь только те вопросы, которые я отфильтровал
.
Например, мне нужны только эти вопросы
queryset = Question.objects.filter(publish=True)
Каким наилучшим способом я могу этого добиться? Заранее спасибо!!!
Django Version: 3.2.12