Когда я нахожусь на странице администратора и пытаюсь создать новый экземпляр MyUser
, я не могу его создать.Когда я печатаю password
и confirm_password
, я получаю правильное значение для password
, но None
для confirm_password
.
В моем файле admins.py
есть следующее:
class MyUserCreationForm(forms.ModelForm):
"""
A form for creating new users.
"""
password = forms.CharField(label='Password', widget=forms.PasswordInput)
confirm_password = forms.CharField(
label='Confirm password', widget=forms.PasswordInput)
class Meta:
models = MyUser
fields = ('email', )
def clean_password(self):
"""
Check if two password entries match.
"""
password = self.cleaned_data.get('password')
confirm_password = self.cleaned_data.get('confirm_password')
if (password == confirm_password):
return password
else:
raise forms.ValidationError("Passwords don't match")
def save(self):
"""
Save the provided password in hash format.
"""
user = super().save(commit=False)
user.set_password(self.cleaned_data['password'])
user.save()
return user
Что может быть причиной того, почему confirm_password
всегда имеет значение None
?