如何使用python对GAE db进行UPDATE和DELETE?

时间:2013-05-03 01:11:07

标签: google-app-engine gql

我有一个初学者的问题。

我正在阅读GAE reference,我只看到了“SELECT”操作。我需要SQL的UPDATE和DELETE的对应部分,但我能想到的就是:

从表中删除.filter以获取某个项目,然后在其上调用.remove()
更新:.filter从表中获取项目,然后修改它并将其插回.put(),但在原始元素上调用.remove()

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

2 个答案:

答案 0 :(得分:2)

更新与元素已存在时的放置基本相同。当您执行.put()

时,GAE将重写该实体
Example
Update
mymodel = MyModel.get_by_key_name('myKey')
mymodel.x = 123
mymodel.put()

答案 1 :(得分:1)

没有

GQL不是SQL。

您需要通过模型和密钥操纵数据存储区中的实体。

首先,您应该考虑放弃所有关于数据存储应该如何根据您的SQL知识运行的先入为主的想法,一旦通过入门指南进行精神准备工作https://developers.google.com/appengine/docs/python/gettingstartedpython27/usingdatastore

然后进入数据存储区的文档。 https://developers.google.com/appengine/docs/python/datastore/

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

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