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