Visión general
A menudo se usa en Django para convertir los resultados de la consulta del modelo en datos en formato Json. Los resultados generalmente QuerySet que (colección de objetos de la clase del modelo) o un solo objeto de la clase del modelo, uso de la __dict__
propiedad del modelo , datos del modelo Json en datos de formato.
método
1. Formato de datos único
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. Varios datos
Utilice el bucle for para procesarlo como un solo dato y, finalmente, conviértalo en formato 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 )