【问题标题】:Abort save in m2m_changed phase with Django使用 Django 在 m2m_changed 阶段中止保存
【发布时间】:2013-07-16 11:54:28
【问题描述】:

保存模型时,我需要将 django 多对多字段保存到第三方服务器。但是,第三方服务器可能不可用,在这种情况下,我需要中止整个保存操作。

是否可以从 m2m_changed 阶段中止保存模型?

【问题讨论】:

  • 是的。如果不可用,只需调用instance.delete() 或在save 方法中检查服务的可用性,然后保存。

标签: python django m2m


【解决方案1】:

是的,transactions 框架正式支持这一点。它基本上允许您保存(在数据库之外)数据库更改的内容,直到您实际告诉他提交该更改。

通过等待第三方,您可以提交或放弃交易。这甚至可以通过事务的中间件在请求/响应的基础上进行。

请注意您使用的 Django 版本,因为事务在 1.6 上发生了一些变化。

【讨论】:

    猜你喜欢
    • 2014-12-17
    • 2013-08-28
    • 2013-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-17
    • 1970-01-01
    • 2018-11-10
    相关资源
    最近更新 更多