Django Rest Framework - Объект типа <> не является серализуемым Json

Я новичок в django rest framework и мне нужна помощь.

У меня есть ApiView:

class SomeApiView(APIView):
   def get_url(self, some_id):
     return generate_url(Choices.BOOK, some_id)

   def get(self,request):
     id = request.query_params.get("some_id")
     result_url = self.get_url(id)
     return Response({'result_url': result_url})

здесь при отправке запроса я получаю следующую ошибку:

Object of type Choices is not Json serializable.

Выборы выглядят следующим образом:

class Choices(Enum):
  BOOK="book"
  MOVIE="movie"
  GAME="game"

как я могу исправить эту ошибку? Заранее спасибо

Ошибка говорит, что Choice не может быть преобразована в json. Ваш идеальный результат - {'result_url': 'book'}, например (я предполагаю), но сейчас это {'result_url': Choice}, который не может быть преобразован в json.

Моя мысль в том, что вместо Choice вам нужно вернуть что-то json сериализуемое (например, строку). Мое лучшее предположение, что вам нужно {'result_url': result_url.value}, но я не знаю, будет ли это работать, поскольку я не знаю остальной части вашего кода.

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