RelatedObjectDoesNotExist в /users/edit/ У пользователя нет профиля

Я столкнулся с ситуацией, когда я разработал метод под названием edit и передавал в него формы профиля и пользователя, когда я хотел изменить профиль.

@login_required
def edit(request):
      if request.method == 'POST':
            user_form = UserEditForm(instance=request.user,data=request.POST)
            profile_form = ProfileEditForm(instance=request.user.profile,data=request.POST,files=request.FILES)
            if user_form.is_valid() and profile_form.is_valid():
                  user_form.save()
                  profile_form.save()
      else:
            user_form = UserEditForm(instance=request.user)
            profile_form = ProfileEditForm(instance=request.user.profile)          
      return render(request,'users/edit.html',{'user_form':user_form,'profile_form':profile_form})

вот мой views.py, в котором я написал логику

и переходим к urls.py

path('edit/',views.edit,name='edit'),

и код edit.html выглядит следующим образом

{% extends 'users/base.html' %}
{% block body %}
<h2>Edit profile form</h2>
      <form method="post" enctype="multipart/form-data">
            {% csrf_token %}
            {{ user_form.as_p }} 
            {{ profile_form.as_p }}
            <input type="submit"/>
      </form>
{% endblock %}

вывод показывает следующее

The result output

Я ожидаю лучшего решения для устранения этой проблемы

Покажите нам свои модели, скорее всего, в модели Profile добавьте аргумент "related_name=profile" к полю пользователя.

Вернуться на верх