Django 数据Model 查询结果 转Json 格式

概述

Django中常用到将Model查询结果转为Json格式数据。查询结果一般为QuerySet(Model类对象集合)或者单个Model类对象,可以使用Model的 __dict__ 属性,将Model数据转为Json格式数据。

方法

1. 单条数据格式

my_model = MyModel.objects.get( id=request.GET.get( "model_id" ) )
# 打印 my_model.__dict__ 发现有一个"_state",
# 不是我们Model定义的内容,需要去除
my_model.__dict__.pop( "_state" ) #需要去除,否则不能 Json化
return JsonResponse( my_model.__dict__, safe=False )

2. 多条数据

使用for循环,按单条数据方式处理即可,最后做成Json格式。

lst_my_model = MyModel.objects.all()
model_data = []
for item in lst_my_model:
        item.__dict__.pop( "_state" )
        model_data.append( item )
result = { "data": model_data }
return JsonResponse( result, safe=False )

猜你喜欢

转载自blog.51cto.com/weiyuqingcheng/2548259