我是Django框架的新手,并致力于让我的第一个应用程序运行。当我尝试将查询集从视图传递到模板时遇到以下问题。
我的view.py:
with connection.cursor() as cursor:
cursor.execute("SELECT TOP(5) * FROM xxx WHERE sbu = %s", [sbu])
def dictfetchall(cursor):
columns = [col[0] for col in cursor.description]
return [dict(zip(columns,row)) for row in cursor.fetchall()]
results = dictfetchall(cursor)
class DecimalEncoder(json.JSONEncoder):
def _iterencode(self, o, markers=None):
if isinstance(o, decimal.Decimal):
return (str(o) for o in [o])
return super(DecimalEncoder, self)._iterencode(o, markers)
json_result = json.dumps(data, cls=DecimalEncoder)
我最终得到以下错误:
十进制('28 .80')不是JSON可序列化的
有什么建议吗?我错过了一步吗?我在查询集中有很多小数值。