python - how to retrieve the user name from the database? -
please fix error
i added site , access authorization system user profile . each user has ability change login. must in following form enter login , click submit:
from django import forms userprofile.models import userprofile django.contrib.auth.models import user django.conf import settings import os class userprofileform (forms.modelform): class meta: model = userprofile fields = ('family', 'name', 'nation', 'status', 'login', 'nation_show') def clean_family (self): family = self.cleaned_data ['family'] letters_quantity = len (family) if letters_quantity < 4 : raise forms.validationerror (" little beech in name! " ) return family def clean_login (self): login = self.cleaned_data ['login']. strip () if login! ='': login_form_db = user.objects.filter (username = 'qwe') if login_form_db: login_form_db = login_form_db.username if login == login_form_db: raise forms.validationerror (" username busy " ) else: user.username = login user.save (self) return login
but in end following message error :
attributeerror @ / userprofile / 'queryset' object has no attribute 'username' request method: post request url: http://127.0.0.1:8000/userprofile/ django version: 1.6.2 exception type: attributeerror exception value: 'queryset' object has no attribute 'username' exception location: c: \ python33 \ django_projects \ mutants \ userprofile \ forms.py in clean_login, line 26
filter() returns queryset. since need user
object username, use get() instead:
login_form_db = user.objects.get(username='qwe')
Comments
Post a Comment