Django Serializer с Websockets не работает из-за запроса и HyperLinkedModelSerializer

Я пытаюсь использовать websockets для отправки набора запросов на фронтенд с помощью сериализатора моделей.

Когда я тестирую это, я получаю следующее сообщение:

"HyperlinkedIdentityField" requires the request in the serializer context. Add context={'request': request} when instantiating the serializer.

Вот мой тестовый код фронтенда:

function websocket_test(){

  ws.send(JSON.stringify({
    action: "list",
    request_id: new Date().getTime()
  }))
}

Это мой сериализатор:

class InstructorSerializer(serializers.HyperlinkedModelSerializer):
    class Meta:
        model=Instructor
        fields='__all__'

Это мой потребитель:

class Instructors_Consumer(
        ListModelMixin,
        RetrieveModelMixin,
        PatchModelMixin,
        UpdateModelMixin,
        CreateModelMixin,
        DeleteModelMixin,
        GenericAsyncAPIConsumer):
    queryset=Instructor.objects.all()
    serializer_class=InstructorSerializer

Я не совсем понимаю, что происходит не так. В выдаваемой ошибке упоминается добавление контекстного ключевого слова при инстанцировании сериализатора; однако я не имею ни малейшего представления о том, зачем ему нужен запрос или где его инстанцировать.

Любая помощь будет очень признательна, поскольку я совершенно не понимаю, как решить эту проблему.

Спасибо.

Оказывается, ответ заключается в том, чтобы не использовать HyperlinkedModelSerializer и вместо него использовать ModelSerializer, чтобы он не использовал запрос на маршрутизацию url в сериализаторе.

Поздравления

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