加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

django 将queryset转换(model的实例序列化)一个字典(json)方

发布时间:2020-12-15 17:14:33 所属栏目:大数据 来源:网络整理
导读:有很多关于如何序列化模型查询集的文档,但是如何将模型实例的字段序列化为JSON? 第一种方法:使用django自带方法serializers from?django.core?import?serializersobj?=?SomeModel.objects.first()serialized_obj?=?serializers.serialize('json',?[?obj,?

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

第一种方法:使用django自带方法serializers

from?django.core?import?serializers

obj?=?SomeModel.objects.first()

serialized_obj?=?serializers.serialize('json',?[?obj,?])

serialized_obj?=?serializers.serialize('python',?])

json和python格式有什么区别?

json格式将结果返回为str,而python将返回结果列表或OrderedDict

第二种方法:使用model_to_dict

from?django.forms.models?import?model_to_dict
from?django.http?import?JsonResponse

obj?=?SomeModel.objects.first()
model_to_dict(obj?)

第三种方法:利用json.dumps()

from?django.forms?import?model_to_dict
from?django.core.serializers.json?import?DjangoJSONEncoder
from?django.db.models?import?Model

class?ExtendedEncoder(DjangoJSONEncoder):

????def?default(self,?o):

????????if?isinstance(o,?Model):
????????????return?model_to_dict(o)

????????return?super().default(o)?
????????
json.dumps(data,?cls=ExtendedEncoder)


(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读