微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python – Django的模型保存流程

我注意到在模型上调用save()后无法保证数据库是同步更新的.

我通过对以下方法进行ajax调用来完成一个简单的测试

def save(request, id)
  product = ProductModel.objects.find(id = id)
  product.name = 'New Product Name'
  product.save()

  return HTTPResponse('success')

在客户端,我等待上述方法的响应,然后执行检索产品列表的findAll方法.返回的产品列表包含更新产品名称的旧值.

但是,如果我延迟产品列表的请求,那么它包含新值,就像它应该的那样.

这意味着如果在将新值写入数据库之前触发,则返回HTTPResponse(‘success’).

如果以上是真的,那么只有在数据库更新后才能返回HTTP响应.

解决方法:

您应该更突出地提到App Engine.我已将它添加标签中.

这肯定是因为你对GAE缺乏了解,而不是与Django有任何关系.您应该阅读eventual consistency in the datastore上的GAE文档,并适当地构建模型和查询.

使用标准关系数据库运行的普通Django不会出现此问题.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐