1

ユーザーからのデータを含むフォームがある場合、CV としましょう。フォームからのデータをデータベースに保存しますが、同じユーザーからの CV をデータベースに保存したくありません。 1回以上(フォームインスタンスの編集時)

同じユーザーが保存するたびに上書きされるようにしたい。どうすればできますか?

どうもありがとう

4

1 に答える 1

2

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をハックしてください。

于 2010-05-23T00:55:28.047 に答える