Django 原子事务中的更新或创建是否安全?

Django 原子事务中的更新或创建是否安全?,django,Django,标题非常明确:您可以在django中的原子事务中使用update_或create命令吗 我找不到答案。竞争条件是有原因的,但原子事务更多的是回滚而不是竞争?django原子事务在开始时管理一个“BEGIN transaction;”sql语句,在结束时管理一个“COMMIT;”或“rollback;”语句 开始和结束之间的任何SQL语句都可以作为一个整体提交或回滚。这包括用于更新或创建对象的语句。整个过程由数据库引擎直接处理 真正的问题是,在原子事务中,为什么update_或_create不安全

标题非常明确:您可以在django中的原子事务中使用update_或create命令吗


我找不到答案。竞争条件是有原因的,但原子事务更多的是回滚而不是竞争?

django原子事务在开始时管理一个“BEGIN transaction;”sql语句,在结束时管理一个“COMMIT;”或“rollback;”语句

开始和结束之间的任何SQL语句都可以作为一个整体提交或回滚。这包括用于更新或创建对象的语句。整个过程由数据库引擎直接处理

真正的问题是,在原子事务中,为什么update_或_create不安全


竞赛条件注释属于另一个原则,如果不满足某些条件,则可以创建2次相同的记录,但ID不同。定义字段唯一性是避免此类问题的工具之一。

这并不像听起来那么简单。。。不久前,我在处理一个通过pandas“to_sql”快捷方式管理的数据库时遇到了严重的问题(该快捷方式不能很好地管理事务)。从那时起(称之为恐惧症),我试图远离快捷方式。考虑到我既不喜欢Django'ORM,也不擅长Django'ORM,在搞砸之前真的需要第三方的建议!谢谢