我有这样的数据:
{
"queryValue": "SELECT Name, Site, Phone, Type, Owner.Name, CreatedBy.profile.Name FROM Account",
"SFDCUser_id": "0056F00000ALw6aQAD",
"updated_at": "2018-11-18T07:26:24.954000",
"id": "aghkZXZ-Tm9uZXIZCxIMUXVlcnlIaXN0b3J5GICAgICAyOsKDA",
"is_error": false,
"nid": 6102564412063744,
"date": "2018-11-18T07:26:24.954000",
"created_at": "2018-11-18T07:26:24.954000"
}
我使用id从数据存储中删除特定的记录。我的代码是这样的:
^{pr2}$但它不能正常工作,我是python新手。在
好吧,你没有正确地“建造”钥匙。应该使用实体类型及其ID/名称(如果您知道的话)来构建密钥。来自Specifying your own key name:
但该示例假定在创建实体时,
'sandy@example.com'
被指定为键的ID/名称。在您显示的实体似乎是
Account
类型(或者至少是您查询的对象),而不是id
类型。所以您应该像引用的示例一样构建键(它们的实体类型也被命名为Account
)。在而且,指定的实体ID似乎没有用于您的实体:
实体的
id
值看起来像键的urlsafe
字符串:"id": "aghkZXZ-Tm9uZXIZCxIMUXVlcnlIaXN0b3J5GICAgICAyOsKDA"
有一个
nid
值,看起来像数据存储auto-generated numeric key ID:"nid": 6102564412063744
如果是这样,那么
nid
实际上是您的密钥ID,因此您将按如下方式构建密钥:您还可以使用:
^{pr2}$但如果您实际拥有实体,例如从查询结果来看,您不再需要构建其key来执行删除操作,您可以直接从实体中获取key,然后按如下方式删除它:
如果要删除多个实体,则使用
ndb.delete_multi()
更有效,请参见Deleting entities in bulk。在相关问题 更多 >
编程相关推荐