Django新手如何在djang中序列化原始queryset

2024-10-01 17:41:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我对Django框架比较陌生,正致力于让我的第一个应用程序运行起来。当我试图将queryset从视图传递到模板时,遇到了以下问题。在

我的视图.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)

最后我得出以下错误:

Decimal('28.80')不可JSON序列化

有什么建议吗?我是不是错过了一步?我在查询集中有很多十进制值。在


Tags: columnsinself视图jsonforreturndef

热门问题