我有:
IntegrityError
duplicate key value violates unique constraint "user_pkey"
DETAIL: Key (id)=(3220037) already exists.
字符串
这发生在代码的这一部分
user = User()
user.save()
型
模型很简单,3个字段。因此,当有很多并行请求到达我的端点时,就会发生这种情况。
我认为Django在这样一个简单的操作中处理了竞争条件。数据库为Postgres,默认事务隔离为read committed。
也许smth在新的Django版本中发生了变化?race condition需要我自己在代码中处理吗?
1条答案
按热度按时间lsmd5eda1#
在模型上使用事务原子查询集解决方案1
字符串
解决方案2
型
使用select_update_or_create