0

我有一个初学者问题。

我正在阅读GAE 参考资料,但我只看到了“SELECT”操作。我需要 SQL 的 UPDATE 和 DELETE 的对应物,但我能想到的是:

DELETE:.filter从表中获取一个项目然后调用.remove()它。
更新:.filter从表中获取一个项目,然后修改它并将其插入回来.put(),但调用.remove()原始元素。

这是进行这些操作的正确和有效的方式吗?

4

2 回答 2

2

当元素已经存在时,更新本质上与放置相同。当您执行 .put() 时,GAE 将重写实体

Example
Update
mymodel = MyModel.get_by_key_name('myKey')
mymodel.x = 123
mymodel.put()
于 2013-05-03T03:01:16.017 回答
1

GQL 不是 SQL。

您需要通过模型和键来操作数据存储中的实体。

首先,一旦通过入门指南https://developers.google.com/appengine/docs/python/gettingstartedpython27/usingdatastore做好心理准备,您应该考虑放弃所有关于数据存储应如何工作的先入为主的想法

然后继续阅读 Datastore 上的文档。 https://developers.google.com/appengine/docs/python/datastore/

如果您没有预先存在的 appengine 代码库,请使用 ndb 而不是 db。

如果您需要真正的 SQL 功能,请查看 Google Cloud SQL 而不是 appengine 数据存储。

于 2013-05-03T02:41:12.657 回答