如何在Django中序列化模型实例?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (23)

关于如何序列化ModelQuerySet,有很多文档,但是如何将模型实例的字段序列化为JSON呢?

提问于
用户回答回答于

可以很容易地使用一个列表来包装所需的对象,这就是Django序列化程序正确序列化它所需的全部内容,例如:

from django.core import serializers

# assuming obj is a model instance
serialized_obj = serializers.serialize('json', [ obj, ])
用户回答回答于

若要避免数组包装器,请在返回响应之前删除它:

import json
from django.core import serializers

def getObject(request, id):
    obj = MyModel.objects.get(pk=id)
    data = serializers.serialize('json', [obj,])
    struct = json.loads(data)
    data = json.dumps(struct[0])
    return HttpResponse(data, mimetype='application/json')

扫码关注云+社区