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 %}
вывод показывает следующее
Я ожидаю лучшего решения для устранения этой проблемы
Покажите нам свои модели, скорее всего, в модели Profile добавьте аргумент "related_name=profile" к полю пользователя.