Próbuję wyświetlić prosty modelForm dla profilu użytkownika i zezwolić użytkownikowi na jego aktualizację. Problem polega na tym, że moja logika jest w jakiś sposób wadliwa, a po pomyślnym wywołaniu formularza.save() stare wartości pojawiają się na stronie. Dopiero odświeżenie pokazuje odpowiednią wartość. Co jest nie tak?Django, aktualizowanie profilu użytkownika za pomocą modelu ModelForm
@login_required
def user_profile(request):
success = False
user = User.objects.get(pk=request.user.id)
upform = UserProfileForm(instance=user.get_profile())
if request.method == 'POST':
userprofile = UserProfileForm(request.POST, instance=user.get_profile())
if userprofile.is_valid():
up = userprofile.save(commit=False)
up.user = request.user
up.save()
success = True
return render_to_response('profile/index.html',
locals(), context_instance=RequestContext(request))
Po prostu szukam aktualizacji istniejącego profilu, a nie dodawania nowego.