1

我使用 last_touch_date DateTimeProperty 作为使用该auto_now=True标志修改应用程序数据存储区中实体的一种方式。当用户发布一个实体时,它会收到它的 last_touch_date 作为未来更新的参考。

但是,当我之后检查实体的 last_touch_date 时,我总是发现在写入后立即读取的该属性之间存在轻微的差异,之后不久。我感觉这是高一致性模型的结果。

这是已知的行为吗?除了我自己管理这个属性之外,还有其他解决方法吗?

4

1 回答 1

2

不,这不是由于 HRD —— auto_now 纯粹在客户端库中实现。写入实体后,属性值与写入数据存储区的内容不对应,而是与上次读取的内容对应。我不确定你会看到一个全新的实体,但它可能仍然与所写的不同。

如果您切换到 NDB,您会发现 auto_now 的行为更加合理。:-)

于 2012-06-19T04:16:35.507 回答