maxclax
@maxclax

Как обновить модель Django?

Столкнулся с некоторым непониманием в обновлении данных персоны. Есть авторизованный пользователь, который редактирует свой профиль. Этой вюхой, я ему подсовываю форму:
@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 юзера, получать обьект новый и его обновлять? Есть другой выход?
  • Вопрос задан
  • 3228 просмотров
Решения вопроса 1
sim3x
@sim3x
stackoverflow.com/questions/8466768/using-request-...

В request.user есть текущий пользователь

Если не вийдет, то стоит запостить модель.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы