【问题标题】:django webapi: dump django model to JSONdjango webapi:将 django 模型转储为 JSON
【发布时间】:2013-04-15 20:05:21
【问题描述】:

我正在尝试将 django 模型转储为 JSON 格式。我试过这样做:

import json
from api.models import User
from django.http import HttpResponse

def users(request):
    users = User.objects.all()
    return HttpResponse(json.dumps(users), content_type="application/json")

但它会引发以下错误:

[<User: Paul McCartney>, <User: John Lennon>, <User: George Harrison>, <User: Ringo Starr>] is not JSON serializable

我知道我可以遍历所有对象并创建一个手动的字典列表,但我希望有更好的方法来做到这一点。有吗?

【问题讨论】:

    标签: django json model


    【解决方案1】:
    from django.core import serializers
    
    data = serializers.serialize('json', User.objects.all())
    

    您可以了解如何在反序列化中获取这些数据:

    import json
    json.loads(data)
    

    【讨论】:

      【解决方案2】:

      我知道这是一个老问题,但我发现将其转换为列表可以对其进行序列化。

      import json
      from api.models import User
      from django.http import HttpResponse
      
      def users(request):
          users = list(User.objects.all())
          return HttpResponse(json.dumps(users), content_type="application/json")
      

      【讨论】:

        猜你喜欢
        • 2016-04-21
        • 2012-07-14
        • 1970-01-01
        • 2022-10-22
        • 1970-01-01
        • 2011-10-25
        • 2018-12-10
        • 2012-07-29
        • 1970-01-01
        相关资源
        最近更新 更多