我有一个初学者问题。
我正在阅读GAE 参考资料,但我只看到了“SELECT”操作。我需要 SQL 的 UPDATE 和 DELETE 的对应物,但我能想到的是:
DELETE:.filter
从表中获取一个项目然后调用.remove()
它。
更新:.filter
从表中获取一个项目,然后修改它并将其插入回来.put()
,但调用.remove()
原始元素。
这是进行这些操作的正确和有效的方式吗?
我有一个初学者问题。
我正在阅读GAE 参考资料,但我只看到了“SELECT”操作。我需要 SQL 的 UPDATE 和 DELETE 的对应物,但我能想到的是:
DELETE:.filter
从表中获取一个项目然后调用.remove()
它。
更新:.filter
从表中获取一个项目,然后修改它并将其插入回来.put()
,但调用.remove()
原始元素。
这是进行这些操作的正确和有效的方式吗?
当元素已经存在时,更新本质上与放置相同。当您执行 .put() 时,GAE 将重写实体
Example
Update
mymodel = MyModel.get_by_key_name('myKey')
mymodel.x = 123
mymodel.put()
不
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 数据存储。