gpt4 book ai didi

python - 如何删除 NDB 数据库的 StructuredProperty(或重复属性)中的单个项目?

转载 作者:搜寻专家 更新时间:2023-10-30 21:40:37 27 4
gpt4 key购买 nike

我有一个 ndb.Model,其中包含一个 Repeated 属性。

class Resort(ndb.Model):
name = ndb.StringProperty()
hotel_keys = ndb.KeyProperty(repeated=True)

我将“ key ”列表放入“hotel_keys”属性。然后我需要删除其中的单个项目(比方说按 id)我怎么能那样做?

resort = Resort.get_by_id(resort_id)
for hotel_key in resort.hotel.keys:
if hotel_key.id() == id:
del ???
resort.put()

如果有任何帮助,我将不胜感激。谢谢。

最佳答案

这是一种无需迭代即可删除它并删除的方法:(仅适用于重复的 keyproperty,因为它具有具有单个属性 id 的实际字符串表示,对于重复的结构化属性,您必须循环并检查您想要的属性删除获取索引并在循环后删除)

key_to_delete = ndb.Key(ModelOfThatId, id)

if key_to_delete in resort.hotel_keys:
idx = resort.hotel_keys.index(key_to_delete)
del resort.hotel_keys[idx]
resort.put()

关于python - 如何删除 NDB 数据库的 StructuredProperty(或重复属性)中的单个项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19227450/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com