Resultados de la consulta del modelo de datos de Django convertidos al formato Json

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 )

Supongo que te gusta

Origin blog.51cto.com/weiyuqingcheng/2548259
Recomendado
Clasificación