Я делаю что-то неправильно, или это серьезно то, что разработчики ожидают, что я буду писать каждый раз, когда я хочу проверить, совпадают ли два поля?
def clean(self):
data = self.cleaned_data
if "password1" in data and "password2" in data:
if data["password1"] != data["password2"]:
self._errors["password2"] = self.error_class(['Passwords do not match.'])
del data['password2']
return data
И почему мне нужно проверить, что имя пользователя уникально?
def clean_username(self):
data = self.cleaned_data['username']
if User.objects.filter(username=data).exists():
raise ValidationError('Username already taken.')
return data
Это a ModelForm
. Он должен уже знать там уникальное ограничение?