'decimal.Decimal' object has no attribute '__dict__'

来源:7-7 从json序列化看代码解释权反转

慕粉1024131855

2021-09-06

我用下面句子返回查询到的记录给小程序
@api.route(’/getindetials’, methods=[‘GET’])
@auth.login_required
def getindetail():
ilid=int(request.values.get(‘ilid’))
rolls=InDetail.getindetail(ilid)
result = json.dumps(rolls, default=lambda o: o.dict)

返回的数据里有小数字段,遇到小数就会报 ‘decimal.Decimal’ object has no attribute 'dict’错误。
我也在base基类里加了处理语句
def to_dict(self):
result = {}
for key in self.mapper.c.keys():
if getattr(self, key) is not None:
result[key] = getattr(self, key)
if isinstance(result[key], bytes):
result[key]=bool(result[key])
if isinstance(result[key], decimal.Decimal):
result[key]=str(result[key])
但不生效,不知道哪里出了问题

写回答

1回答

7七月

2021-09-08

这不可能看上面的代码就能找到问题的,还是需要自己调试一下。

0
0

Python Flask高级编程之从0到1开发《鱼书》精品项目

7月老师深入浅出剖析Flask核心机制,和你一起探讨Python高级编程

2735 学习 · 1267 问题

查看课程