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}
, но я не знаю, будет ли это работать, поскольку я не знаю остальной части вашего кода.