django - 如何在 Django 中锁定交易?
问题描述
有时会使用相同的数据多次向服务器发送请求。我想使用 Django 的 ORM 将该数据插入数据库中。在该数据中有一个字段说“field_imp”,它只能是唯一的。现在它给了我integrity error
,因为两个请求都试图插入在一起。我该如何避免这种情况?
如何同时发送多个请求?
使用terminator
打开的多个选项卡,编写相同的curl
请求并发送。
Django中的模型:
class MyModel(models.Model)
field_imp = models.TextField(unique=True)
我正在使用Django rest Framework
api 生成及其serializers
数据验证。
解决方案
第一种方法是锁表,但效率低;
第二种方法是添加两个代码点:
- 将存在检查添加到序列化程序中。
- 添加 try...catch... 以获取完整性错误。
推荐阅读
- javascript - JavaScript 很难使用局部变量
- javascript - Bootstrap 5 选项卡和表单
- c - 结构的存储大小未知
- arrays - 将数据作为数组从函数存储并传递到另一个函数或代码
- python - AttributeError:“NoneType”对象在使用 Google 翻译时没有属性“组”
- google-apps-script - 插入带有 Google Apps 脚本的组织单位收到错误请求错误
- python - 修改列表内列表中的值
- ng-zorro-antd - nz-popconfirm 删除默认图标
- javascript - 如何在 rails 6 中包含 npm 包中的 css
- javascript - 从 json 格式检索 cookie 信息