OK、UserUpdateFormとRegistrationFormがあります。現在、この機能を備えたそれぞれ:
def clean_email(self):
email = self.cleaned_data.get('email')
if email and User.objects.filter(email=email).exclude(pk=self.instance.id).count():
raise forms.ValidationError('Email already in use.')
return email
この重複を避けるための理想的な方法は何だろうと思っていました。
お知らせ下さい。
** アップデート **
親関数を呼び出す必要があるが、それにいくつかのものがある場合はどうなりますか?
def clean_email(self):
email = self.cleaned_data.get('email')
if email and User.objects.filter(email=email).exclude(pk=self.instance.id).count():
raise forms.ValidationError('Email already in use.')
### THIS BIT IS ONLY NEEDED IN ONE OF THE CHILD FORMS ###
# Check whether the email was change or not
if self.instance.email != email:
# To not change the email in our database until the new one is verified
return self.instance.email
###
return email