Den*_*nzo 4 python django ajax 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')
Run Code Online (Sandbox Code Playgroud)
在客户端,我等待上述方法的响应,然后执行findAll方法来检索产品列表。返回的产品列表包含更新产品名称的旧值。
但是,如果我延迟了对产品列表的请求,则它包含新值,就像应该的那样。
这意味着如果在将新值写入数据库之前被触发,则返回HTTPResponse('success')。
如果以上情况成立,那么只有在数据库更新后,才有办法返回HTTP响应。
您应该更突出地提到App Engine。我已将其添加到标签中。
这绝对是因为您对GAE缺乏了解,而不是与Django无关。您应该阅读GAE文档以了解数据存储区中最终的一致性,并适当地构建模型和查询。
使用标准关系数据库运行的普通Django不会出现此问题。