欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

DRF中的BUG-××× is not json serializable

程序员文章站 2022-04-28 19:14:35
...

BUG现象:

TypeError: <property object at 0x7f2edd9e2228> 
is not JSON serializable

类型错误:×××对象不能被json化。

BU*生的环境

python语言,Django框架,DRF设计风格

BUG原因:

Response的数据类型错误,没错,就是响应的数据类型出错。
错误代码:

# 情况1 捕获异常后返回响应
    except Exception as e:
         logger.error(e)
         return Response({'message': e})

# 情况2 直接返回字符串
    return Response('hello world')

解决BUG的方法

修改返回响应的类型,必须能够被序列化为json字符串

# 情况1
    except Exception as e:
         logger.error(e)
         return Response({'message': '%s' % e})

# 情况2
    return Response({'msg': 'hello world'})