Столкнулся с некоторым непониманием в обновлении данных персоны. Есть авторизованный пользователь, который редактирует свой профиль. Этой вюхой, я ему подсовываю форму:
@login_required
def profile(request):
# проверяем запрос с аякса
if request.method == "POST" and request.is_ajax():
person_form = PersonProfileForm(request.POST)
# проходим валидацию формы
if person_form.is_valid():
try:
# результат операции
data = {
'success': _('Профиль обновлен!')
}
except:
data = {
'try': True
}
else:
# результат операции
data = {
'errors': person_form.errors
}
# позвращаем результат в JSON
return HttpResponse(json.dumps(data))
else:
# регистрируем форму
person_form = PersonProfileForm()
# рендеринг шаблона
return render(request, 'person/profile.html', {'form': person_form})
Эту форму:
class PersonProfileForm(forms.ModelForm):
"""
Создание новой персоны
"""
first_name = forms.CharField(label='Ваше имя', required=True)
last_name = forms.CharField(label='Ваша фамилия', required=True)
class Meta:
model = Person
fields = ['first_name', 'last_name', 'country']
labels = {
'country': 'От куда Вы'
}
help_texts = {
'first_name': _('Обязательно указывайте все данные реальные!'),
}
И собственно юзер заполняя ее передает аяксом данные на обработчик. Их приняло, прошло валидацию. И что? :) Как мне обновить именно ту персону, которая авторизованная в данный момент? Я же не должен передавать скрыто ID юзера, получать обьект новый и его обновлять? Есть другой выход?