django model QuerySet序列化json

django devops 阅读:864

在python2.7中当我们序列化一个对象时会用到标准库json,例如:

a = {"name":"zhuobaobao"}
print json.dumps(a)


当我们用django的orm查询得到一个QuerySet对象直接使用json.dumps()序列化对象时就会发生报错:

a = Service_Template_Log.objects.all()
print json.dumps(a)

报错信息:

raise TypeError(repr(o) + " is not JSON serializable")

解决方法:

    from django.core.serializers.json import DjangoJSONEncoder
    m = json.dumps(list(a),cls=DjangoJSONEncoder)