【问题标题】:How come I can't delete a entity in Datastore?为什么我无法删除 Datastore 中的实体?
【发布时间】:2014-08-11 00:39:47
【问题描述】:

这是我的代码:

from google.appengine.ext import db
class m(db.Model):
s = db.StringProperty()
k = m(s='To be deleted')
k.put()
print k.key()
db.delete(k.key())
print k.s

这是我得到的输出:

aghkZXZ-YmxvZ3IOCxIBbRiAgICAgPC7Cgw
To be deleted

【问题讨论】:

  • 是什么让您认为该实体尚未在数据存储区中删除?
  • 您检查过数据存储是否已被删除?
  • 您下载实体,然后要求服务器删除所述实体....然后您检查您的已下载实体。它当然会在那里。正如其他人所说,再次检查您的数据存储,实体将不存在

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


【解决方案1】:

输出没有问题:

print k.key() 为您提供第一行 (aghkZXZ-YmxvZ3IOCxIBbRiAgICAgPC7Cgw),这是您要求打印的实体的键。

print k.s 正是您所要求的,即您在k = m(s='To be deleted') 行中设置为"to be deleted" 的属性s 的值。您确实需要检查数据存储以查看实体是否已删除。

转到https://appengine.google.com,点击应用程序,然后在Dashboard视图中,点击Datastore Viewer

【讨论】:

  • 无需访问数据存储查看器:OP 可以尝试获取该密钥 - db.get(k.key()) - 它应该返回 None 而不是对象。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-24
  • 2019-10-19
相关资源
最近更新 更多