挿入または更新を実行するWebサービスを作成しようとしています。リクエストは、ヘッダー、テーブル名、列名、各列に設定する値を含む値を含む投稿です。リクエストヘッダーを解析し、パラメーターdictを作成しています。
def handel_request(request): if request.method == "POST":
param_dict = formParmDict(request)
##if insert param_dict["Model"] is {'pk':1,'field1':100,'field2':200}
##if update param_dict["Model"] is {'pk':1,'field1':100}
Model(**param_dict["Model"]).save() ## if update then sets field2 to null
return HttpResponse()
else:
return HttpResponseBadRequest()
これ.save()
は、が挿入を実行している間は正常に機能します。更新の場合、つまり、が更新される場合param_dict["Model"]
は{pk:1, field1:somevalue}
、で指定されたフィールド以外の残りのフィールドparam_dict["Model"]
がnullに設定されます。何故ですか?私は何か間違ったことをしていますか?指定されたフィールドのみを更新することを想定して保存しませんか?