gpt4 book ai didi

python - 修改 Google App Engine 实体 ID?

转载 作者:太空宇宙 更新时间:2023-11-04 01:32:26 25 4
gpt4 key购买 nike

我正在使用 Google App Engine NDB。有时我会想要在指定列表中获取所有具有电话号码的用户。为此使用查询非常昂贵,所以我想我只是将 User 实体的 id 值设为用户的电话号码,这样我就可以直接通过 id 获取。

问题在于电话号码字段是可选的,因此最初创建的用户实体没有电话号码,因此没有 id 值。所以它会被创建为 user = User() 而不是 user = User(id = phone_number)

因此,当用户稍后决定将电话号码添加到他的帐户时,是否可以将该用户实体的 id 值修改为新电话号码?

最佳答案

实体 ID 构成实体主键的一部分,因此无法更改它。更改它等同于使用新 key 创建新实体并删除旧实体 - 如果需要,这是您可以做的一件事。

更好的解决方案是创建一个 PhoneNumber 类型,它提供对关联的 User 的引用,允许您使用 get 操作进行查找,但不需要每个用户拥有一个电话号码。

关于python - 修改 Google App Engine 实体 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12977110/

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