При нажатии на кнопку в шаблоне html не изменяется поле "статус" в модели django

Всем привет! Вопрос такой, имеется models.py

class Post(models.Model):
# ... Другие поля модели
    status = models.CharField(max_length=16, choices=STATUS_CHOICES, default='Активирован')

urls.py

app_name = 'posts'

urlpatterns = [
    ...
    path('<int:pk>/update/', views.PostUpdateView.as_view(), name='update_status')]

vews.py

class PostUpdateView(UpdateView):
model = Post
template_name = 'post_detail.html'

def change_status(self, *args, **kwargs):
    if request.method == "POST": 
        post = Post.objects.filter(id=self.id)
        if post.status == 'Активирован':
            post.status = 'Деактивирован'
            post.save()
        elif post.status == 'Деактивирован':
            post.status = 'Активирован'
            post.save()
        return redirect('posts:post_detail')

posts_detail.html

...
<form action="{% url 'posts:update_status' post.id %}" method="post">
                    {% csrf_token %}
                    <button type="button">
                        {% if post.status == 'Активирован' %}
                        Деактивировать
                        {% else %}
                        Активировать
                        {% endif %}</button>
                </form>

Хочу сделать переключение поля по кнопке "Активировать/Деактивировать" и редирект на эту же страницу. На данный момент есть кнопка и при нажатии ничего не изменяется. Ну или возможно редирект работает, но статус не переключается. Предполагаю, что неправильная выюха, но не могу понять где.

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