django - сохранение значений из формы в базу данных - PullRequest
3 голосов
/ 21 февраля 2011

Я создаю пользовательскую страницу профиля, и мне нужно, чтобы пользователь мог сохранить или обновить свой профиль.По какой-то причине я получаю следующую ошибку, когда нажимаю кнопку обновления профиля:

Запрос на совпадение пользователя не существует.

Ниже приведен код, который я имею дляфайлы форм, моделей и представлений:

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))

Есть идеи, что я не делаю правильно?Благодарю вас!

1 Ответ

6 голосов
/ 21 февраля 2011
  f_user = User.objects.get(username=request.user.id)

Имя пользователя предположительно request.user.username

Или просто пользователь User.objects.get(id=request.user.id)

На самом деле, что говорит моя задница с кофеином? У вас есть пользовательский объект прямо здесь!

request.user:)

...