Редактирование формы в _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 %}          
                  
Вернуться на верх