ユーザーからのデータを含むフォームがある場合、CV としましょう。フォームからのデータをデータベースに保存しますが、同じユーザーからの CV をデータベースに保存したくありません。 1回以上(フォームインスタンスの編集時)
同じユーザーが保存するたびに上書きされるようにしたい。どうすればできますか?
どうもありがとう
Djangoのsave()はこれを自動的に処理するはずです。
例を挙げると、通常、次のような方法でフォームを送信します。
...
form = UserCVForm(request.POST, instance=user_cv)
if form.is_valid():
form.save()
...
'instance = user_cv'は、既存のエントリ(具体的には'user_cv')を更新することをdjangoに通知します。'instance = user_cv'がないと、Djangoはデータベースに新しいエントリを挿入します。
つまり、user_cvがuser_cv = UserCV.objects.get(user = user_id)のようなものですでに存在するかどうかを確認します。user_cvが存在する場合は、フォームに入力するときに必ずinstance=user_cvをハックしてください。