こんにちはこれが私のadmin.pyからの抜粋です
#admin.py
class UserForm(forms.ModelForm):
class Meta:
model = User
def clean_email(self):
email = self.cleaned_data['email']
if User.objects.filter(email=email).exists():
raise forms.ValidationError("This email already used")
return email
class UserAdmin(admin.ModelAdmin):
form = UserForm
admin.site.unregister(User)
admin.site.register(User, UserAdmin)
これを使用して、すでに使用されているメールアドレスで新しいユーザーを作成できないことを確認します。問題は、既存のユーザーを編集すると、そのメールアドレスを持つユーザーがいるために検証チェックが失敗することですが、編集しているのはそれで問題ありません。
現在のユーザーとの一致を無視するようにフォーム検証を指示するにはどうすればよいですか?