DRF для выбора только некоторых значений из ForeignKey - Django

Я использую Django Rest Framework и я новичок в DRF.

serializer.py

class ResponseSerializer(serializers.ModelSerializer):
    class Meta:
        model = Response
        fields = [
            'user_id',
            'question_id',
        ]

Как вы видите, у меня здесь 2 поля

  1. user_id
  2. question_id

Оба они являются полями внешнего ключа

Когда кто-то заходит по этому url http://127.0.0.1:8000/api/response/add/, он может увидеть все значения при выборе user_id или question_id.


enter image description here

enter image description here


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()

Что я хочу

  1. user_id должен иметь только 1 значение в списке, и это текущий пользователь.
  2. question_id должен иметь только те вопросы, которые я отфильтровал
  3. .

Например, мне нужны только эти вопросы

queryset = Question.objects.filter(publish=True)

Каким наилучшим способом я могу этого добиться? Заранее спасибо!!!

Django Version: 3.2.12

Вернуться на верх