@bielikovv

Как сделать чтобы форма сохраняла данные в две модели?

Имею вьюху, которая выводит форму. При обычном представлении ее пользователю, заполнил все поля с помощью instance и initial, но при отправке формы, в instance могу передать значения только из одной формы, которая относится к указанной в поле модели(я расширял форму юзера). Если передаю request.user сохраняются данные только этой модели, и наоборот - через request.user.profile сохраняется другая. Нужно сделать, чтобы сохранение происходило в обоих. Тут нужно как-то объединить instance, как это сделать?

def show_user_form(request):
    if request.method == 'POST':
        form = RedactInfoUserForm(request.POST, request.FILES, instance=request.user.profile)
        if form.is_valid():
            form.save()
            redirect('profile')
    else:
        form = RedactInfoUserForm(instance=request.user.profile, initial={'first_name':request.user.first_name, 'last_name':request.user.last_name, 'email':request.user.email })
    return render(request, 'musiccloud/user_profile.html', {'form':form})
  • Вопрос задан
  • 63 просмотра
Решения вопроса 1
@Kadabrov
шикарнейшая статья, учитесь пользоваться поиском

https://habr.com/ru/post/313764/
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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