简单建站CMS是永久开源免费的Python语言的Django框架的企业网站开发建设管理系统
公开文章
django 刚添加完一条记录v.save() 之后b=Zhifudingdan.objects.get(id=pk)立刻查询这个记录 查询不到怎么处理
2023年9月29日 15:10|已阅读 528次
在Django中,当你使用save()方法保存一条记录后,它并不会立即在数据库中存储。Django使用事务处理将保存的记录在适当的时机批量提交到数据库中。因此,如果你立即尝试查询新保存的记录,有可能会找不到。

为了解决这个问题,你可以使用refresh_from_db()方法来从数据库中刷新模型实例的数据并获取最新的记录。在保存后立即调用refresh_from_db()方法,然后再执行查询操作,这样就能获取到新保存的记录。

示例代码如下所示:

python
复制代码
v = Zhifudingdan()  # 创建订单对象
# 设置订单属性
v.youxiang = youxiang1
v.bianhao = bianhao1
# 保存订单
v.save()
v.refresh_from_db()  # 从数据库中刷新订单实例的数据
# 查询订单
b = Zhifudingdan.objects.get(youxiang=youxiang1, bianhao=bianhao1)
通过调用refresh_from_db()方法刷新实例的数据,然后再执行查询操作,就能正确地获取到刚刚保存的记录。