Reputation: 12505
I'm creating a custom profile page and I need the user to be able to save or update his profile. For some reason I'm getting the following error when I hit the update profile button:
User matching query does not exist.
Below is the code I have for the forms, models and views files:
forms.py
class ProfileForm(forms.Form):
profile_name = forms.CharField( max_length=50)
models.py
class UserProfile(models.Model):
user = models.ForeignKey(User)
profile_name = models.CharField(blank=True, max_length=50)
def __unicode__(self):
return u'%s %s' % (self.user, self.profile_name)
views.py
def edit_profile(request):
if 'edit_button' in request.POST:
form = ProfileForm(request.POST)
f_user = User.objects.get(username=request.user.id)
f_profile_name = form.cleaned_data['profile_name']
p = UserProfile(user=f_user, profile_name=f_profile_name)
p.save()
else:
form = ProfileForm()
return render_to_response('userprofile_template.html', locals(), context_instance=RequestContext(request))
Any idea what am I not doing right? Thank You!
Upvotes: 3
Views: 4958
Reputation: 118538
f_user = User.objects.get(username=request.user.id)
Username is presumabely request.user.username
Or, just user User.objects.get(id=request.user.id)
Actually what is my caffienated ass saying? You have your user object right there!
request.user
: )
Upvotes: 6