Guest User

Untitled

a guest
Oct 20th, 2017
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.11 KB | None | 0 0
  1. class UserProfileForm(forms.ModelForm):
  2.     first_name = forms.CharField(max_length=30)
  3.     last_name = forms.CharField(max_length=30)
  4.  
  5.     class Meta:
  6.         model = UserProfile
  7.         fields = ('deposited_money',)
  8.  
  9.     def __init__(self, user, *args, **kwargs):
  10.         super(UserProfileForm, self).__init__(*args, **kwargs)
  11.         self.fields['first_name'].initial = user.first_name
  12.         self.fields['last_name'].initial = user.last_name
  13.  
  14.     def save(self, commit=True):
  15.         profile = super(UserProfileForm, self).save(commit=commit)
  16.         user = profile.user
  17.         user.first_name = self.cleaned_data["first_name"]        
  18.         user.last_name = self.cleaned_data["last_name"]
  19.         if commit:
  20.             user.save(commit=commit)
  21.         return profile
  22.  
  23. #### creo el form en la vista:
  24. user_form = UserProfileForm(request.user, instance=request.user.get_profile())
  25.  
  26. #### creo el form basado en el POST:
  27. form = UserProfileForm(request.POST, instance=request.user.get_profile())
  28.  
  29. ### Y al hacer el submit me sale error en el __init__:
  30.         'QueryDict' object has no attribute 'first_name'
Add Comment
Please, Sign In to add comment