【问题标题】:Django Rest Framework - Object of type <> is not Json seralizableDjango Rest Framework - <> 类型的对象不是 Json 可序列化的
【发布时间】:2022-07-01 20:08:46
【问题描述】:

我是 django rest 框架的新手,需要一些帮助。

我有 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"

我该如何解决这个错误?提前谢谢你

【问题讨论】:

    标签: django django-rest-framework django-views


    【解决方案1】:

    错误是说Choice 无法转换为json。例如,您的理想结果是 {'result_url': 'book'}(我假设),但现在是 {'result_url': Choice},无法转换为 json。

    我的意思是,您需要返回一些可序列化的 json(如字符串),而不是 Choice。我最好的猜测是您需要{'result_url': result_url.value},但我不知道这是否可行,因为我不知道您的其余代码。

    【讨论】:

      猜你喜欢
      • 2023-01-10
      • 2019-04-29
      • 2021-06-18
      • 2020-07-05
      • 2020-03-04
      • 2021-12-03
      • 2019-09-28
      • 2020-12-13
      • 2019-09-22
      相关资源
      最近更新 更多