В clean_password2
вы проверяете поле password2
, поэтому вы уверены, что оно существует в этой форме, и вам не нужно проверять его наличие в self.cleaned_data
. Это не значит, что они также не могли проверить eixstence password1
.
Метод clean
проверяет всю форму и не имеет гарантий того, что присутствует.