google-app-engine - 如何通过ndb数据库(python)中的查询删除记录?

标签 google-app-engine python-2.7 google-cloud-datastore

我是 Google App Engine 的新手。如果您觉得我的问题很愚蠢,请耐心等待。 我想通过查询删除整个记录。在此代码中,我传递了记录的访问 token ,这是我的模型的一个字段,并删除了所有具有该访问 token 的记录,但我收到错误“模块中没有 delete()”。请给我一些解决方案。提前致谢。

class deletehandler(webapp2.RequestHandler):
    def get(self):
        access_token=self.request.get('access_token')
        gprofiles=User.query(User.access_token==access_token)
        for g in gprofiles:
            ndb.key.delete(g)
            self.response.out.write("Profile is deleted")

最佳答案

delete() 方法是一个实例方法。试试这个:

for g in gprofiles:
  g.key.delete()
  self.response.out.write("Profile is deleted")

记录在案here

更新:

正如帕特里克提到的那样,批量键查询效率更高:

ndb.delete_multi([key for key in gprofiles.iter(keys_only=true)])

关于google-app-engine - 如何通过ndb数据库(python)中的查询删除记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23882910/

相关文章:

java - 从 Google App Engine 中的 FTP URL 读取文件,FileNotFoundException

java - 在 App Engine 上定期运行一些 java?

python - 使用 Python 抓取 Flipkart.com 产品

python - Google App Engine 数据存储区中自动生成的最大 ID 是多少?

python - Google App Engine 上的动态属性与固定属性查询速度

python - 如何更新 NDB 模型的架构

php - 谷歌应用引擎 : How to connect to Cloud SQL with Zend DB

python - 如何从python将文件名存储在数组中

python - pip install --upgrade sqlalchemy 超出最大递归深度

python - pip install webtest 后 Google App Engine 中出现“没有名为 webtest 的模块”错误