Я новичок в ДРФ. При определении HyperlinkedRelatedField
в классе сериализатора следующим образом:
class JournalistSerializer(serializers.ModelSerializer):
articles = serializers.HyperlinkedRelatedField(view_name = "article-
detail")
я получаю следующую ошибку:
`HyperlinkedRelatedField` requires the request in the serializer
context. Add `context = {'request': request}` when instantiating the
serializer.
когда я добавляю context = {'request': request}
в соответствующий класс APIView:
class JournalistListCreateAPIView(APIView):
def get(self,request):
journalist = Journalist.objects.all()
serializer = JournalistSerializer(journalist,many=True,context=
{'request':request})
return Response(serializer.data)
HyperLink в APIView работает нормально. Но я не понимаю, почему запрос должен быть отправлен при создании экземпляра сериализатора. Пожалуйста, помогите мне понять.
Это требует request
в контексте, поскольку он создает абсолютный URL
чтобы быть более конкретным, он используется get_url метод сериализатора
def get_url(self, obj, view_name, request, format):
...
return self.reverse(view_name, kwargs=kwargs, request=request, format=format)
непонятно что вы имеете в виду, напишите пример