0
私は以下の形式を持っています... Django 1.8では完全に機能しましたが、Django 1.9では完全に機能しませんでした。私は登録控除をアンインストールしましたので、それがそれに影響するのであればIDKだと思っています。とにかく私は、次のコードを持っている:Django 1.8からDjango 1.9に切り替えた後のフォームエラー
def save(self,datas,commit=True,):
user = super(RegistrationForm,self).save()
user.first_name=self.cleaned_data['fname']
user.last_name=self.cleaned_data['lname']
# user.set_password(self.cleaned_data['password1'])
user.username = self.cleaned_data['email']
# user.is_active=False
# permission = Permission.objects.get(name='Can view poll')
# u.user_permissions.add(permission)
user.save()
r_user = RegisterUser(user=user,biography="default1", research_place="default2", studies="default3")
if commit:
r_user.activation_key = datas['activation_key']
r_user.key_expires=datetime.datetime.strftime(datetime.datetime.now() + datetime.timedelta(days=2), "%Y-%m-%d %H:%M:%S")
r_user.save()
# print ('saving user: %s' % self.user)
return r_user
def clean_username(self):
username = self.cleaned_data["username"]
try:
user.objects.get(username=username)
except user.DoesNotExist:
return username
raise forms.ValidationError(self.error_messages['duplicate_username'])
をそして私は「ユーザーが」clean_usernameで定義されていないというエラーが表示されます。誰が何が起こっているのか知っていますか?
から
User
モデルをしたい[OK]を、おかげで...それはなぜDjangoの1.8で動作したのですか?私はuser = super(RegistrationForm、self).save()を参照していると思った。 – swedishfished'user = super(RegistrationForm、...'はこのインスタンスの属性にアクセスできるように 'user'と定義したインスタンスで、エラーメッセージに表示される 'clean_username'のどこにでも' user'変数が定義されていません – Pythonista