概要概要
Djangoでは、モデルクエリの結果をJson形式のデータに変換するためによく使用されます。結果は通常、QuerySet that(オブジェクトのモデルクラスコレクション)または単一のModelクラスオブジェクト、Model__dict__
プロパティの使用、ModelJsonデータをフォーマットデータに変換します。
方法
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 )