Overview
It is often used in Django to convert Model query results into Json format data. Results generally QuerySet that (Model class collection of objects) or a single Model class object, use of Model __dict__
property, Model Json data into format data.
method
1. Single data format
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. Multiple data
Use the for loop to process it as a single data, and finally make it into Json format.
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 )