ModelForms は、作成したモデルの定義を繰り返さないようにする良い方法です。私がやりたいことは、その機能を利用して、POST 要求を処理するだけではありません。私は検証のためにフォームをよく使用します。
例:
フィールド (email、password、first_name、last_name) を持つ User モデルがあるとします。電子メール フィールドは一意であり、インデックスです。
UserCreationForm: すべてのフィールドを使用し、電子メールが既に存在する場合は検証に失敗します。POST リクエスト UserUpdateForm を処理します。同じモデルですが、電子メールを変更することはできません。このフィールドは除外されているため、問題はありません。UserAuthenticationForm: 電子メールとパスワードのフィールドのみが含まれます。問題は、これを認証に使用する必要があり、電子メールが既に存在するために検証が失敗することです。
これを行う方法はありますか?つまり、UserAuthenticationForm で電子メール チェックをスキップします。
ありがとうございました。