python - Django 的模型保存流程

标签 python ajax django google-app-engine

我注意到无法保证在对模型调用 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 不会出现此问题。

关于python - Django 的模型保存流程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19474555/

相关文章:

python - 无法通过子进程调用从 The Silver Searcher 获取输出

django - 在 Django 中测试表单 View 时指定提交按钮

javascript - Django - 如何使日期选择器在更改时提交表单

javascript - Backbone.js - 集合请求事件未触发

python - Django:电子商务的产品变体

python - Shutil.move 不会删除源文件

python - 如何绘制堆叠事件持续时间(甘特图)

python - 如何从两个单独的列中减去时间戳,然后将此数据输入表中

javascript - 如何在 ASP.NET MVC 中将不同的 View 显示为幻灯片

php - 使用 php 和 ajax 自动填写表单