在 Django-Rest-Framework 中,我如何使所有请求(GET 除外)都具有事务性?

In Django-Rest-Framework how can I make all requests, except GET, transactional?

根据 Django 的 documentation,我可以设置 ATOMIC_REQUESTS 使所有请求成为原子请求。它还指出我可以在 "per-View" 的基础上有选择地关闭它,而不是 "per-View-function"。

但尚不清楚 GET 方法是否也是事务性的。我知道 REST 定义 considers 此方法为 safeidempotent,因此它不应该是事务性的。特别是当您考虑多个 GET 请求不必要地使数据库超载时。

最后,我们使用 ListCreateView 然后我们不能使整个视图成为非事务性的,而且我们不能创建一个单独的视图只是为了列表,因为这会损害我们的 URLs 模式。

很遗憾,这是不可能的。