0
在通过谷歌应用程序引擎部署的python中处理应用程序。更新创建一个新的实体,而不是更新Google的数据存储上的当前实体
这是我用来做更新的代码。
key = ndb.Key('User', uid)
user = key.get()
if not user:
logging.info("Creating new user...")
user = M.User(id=uid)
user.remind = tmp
user.put()
不是更新旧实体,而是使用键作为名称字段中的键创建新实体。正如下面 名称看出/ ID classNo创建first_name的GROUPID姓氏特别提醒更新的用户名
ID = 133877436 0 2016年8月13日(15:16:04.890)HKT JIACHENNN空真2016年8月13日(15:19:49.055 )HKT
名= 133877436 -1 2016年8月13日(15:19:52.590)HKT空空空真2016年8月13日(15:19:52.590)HKT空
感谢任何帮助!
UPDATE /解决
通过取得实体时使用INT(UID)来解决它。这是创建一个新的实体,因为这两个键是不同的。其中一个是133877436,因此名字被叫做“133877436”。
希望这有助于别人
如果要更新一个实体,你应该找回他的id这个实体
你不显示这个代码是如何被调用,但'ID = 133866436'是一个长期的,'名称= 133866436'是一个字符串,因此使用不同的密钥。如果密钥不同,实体将会不同。 – tx802
@jiachen:你应该用解决方案为你的问题添加一个答案 - 不要让问题显得没有答案。 –