【问题标题】:django/json - Exception Value, <model: field1 field2 ... > is not JSON serializabledjango/json - 异常值,<model: field1 field2 ...> 不是 JSON 可序列化的
【发布时间】:2011-09-17 20:09:18
【问题描述】:

我正在处理views.py 中的一个函数,该函数将用于如下所示的 ajax 请求:

def myfunction(request):
            ...
            p = M1.objects.filter(user=request.user)            
            n = M2.objects.filter(myrecord=p)           
            results["res1"] = list(p)
            results["res2"] =  list(q)

    return HttpResponse(json.dumps(results), mimetype='application/javascript')

当我使用 ajax 调用 myfunction 时,我收到如下错误:

异常值:

 不是 JSON 可序列化的

有什么解决办法吗?

【问题讨论】:

    标签: django json django-models django-views


    【解决方案1】:

    那是因为json 模块默认只序列化原生数据类型,你必须告诉它如何序列化任意对象。 Django有built-in support for serializing querysets and objects,也可以自己写序列化器:

    from django.core import serializers
    json_serializer = serializers.get_serializer("json")()
    json_serializer.serialize(queryset)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-06-18
      • 2013-04-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-23
      相关资源
      最近更新 更多