2016-04-17 13 views
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で定義されていないというエラーが表示されます。誰が何が起こっているのか知っていますか?

答えて

0

Userの代わりにuserを使用しています。User.objects.get(...と同じ)はUser.DoesNotExistと同じです。

あなたはdjango.auth.models

+0

からUserモデルをしたい[OK]を、おかげで...それはなぜDjangoの1.8で動作したのですか?私はuser = super(RegistrationForm、self).save()を参照していると思った。 – swedishfished

+0

'user = super(RegistrationForm、...'はこのインスタンスの属性にアクセスできるように 'user'と定義したインスタンスで、エラーメッセージに表示される 'clean_username'のどこにでも' user'変数が定義されていません – Pythonista

関連する問題