Редактирование формы в _Django_ создает новый экземпляр
Я редактирую форму, она загружает данные правильно, когда я нажимаю сохранить, она создает новую запись в базе данных.
Вот функции представления
@login_required
def post_edit(request, username, post_id):
is_edit = True
post = get_object_or_404(Post, author__username=username,
id=post_id)
if post.author == request.user:
form = PostForm(request.POST or None, instance=post)
if form.is_valid():
post = form.save()
return redirect('posts:profile', username, post_id)
form = PostForm(instance=post)
return render(request, 'posts/post_create.html',
{'form': form, 'is_edit': is_edit, 'post': post})
else:
return redirect('profile')
Урлы:
path('posts/<int:post_id>/edit/',
views.post_edit, name='post_edit'),
post_create.html:
<div class="card-body">
<form method="post" action="{% if is_edit %}{% url 'posts:post_edit' post.author.username post.id %}{% else %}{% url 'posts:post_create' %}{% endif %}">
{% csrf_token %}