Обновление значений таблицы в зависимости от того, какая кнопка была нажата

У меня есть DetailView, который показывает всю информацию о транзакции, начиная с id транзакции, имени, даты создания, .... и статуса. На этой странице у меня есть 3 кнопки - отмена, одобрение и отказ.

что я хочу сделать: когда я нажимаю кнопку отмены, статус изменяется на "Отменено", некоторые кнопки отклонить и одобрить изменяют статус на "Отклонено" и "Успешно".

как я могу это сделать?

Я пытался добавить форму в шаблон со скрытым вводом и методом post, но после submit она показывает страницу с 405 ошибкой.

Просто предположение, потому что вы не опубликовали никакого кода.

405 указывает на то, что ваше представление не принимает POST-запросы.

В Django есть разные способы решения этой проблемы.

Декоратор

Используйте декоратор require_http_methods, как описано в https://docs.djangoproject.com/en/4.0/topics/http/decorators/#allowed-http-methods.

UpdateView

Если вам нравятся общие представления, основанные на классах, используйте https://docs.djangoproject.com/en/4.0/ref/class-based-views/generic-editing/#django.views.generic.edit.UpdateView.

Вы можете использовать UpdateViews, даже если вы хотите изменить только одно поле вашей модели.

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