使用谷歌应用引擎部署的python中的应用程序。
以下是我用来进行更新的代码。
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 class没有创建first_name groupid last_name提醒更新的用户名
id = 133877436 0 2016-08-13(15:16:04.890)HKT JIACHENNN null true 2016-08-13(15:19:49.055)HKT
name = 133877436 -1 2016-08-13(15:19:52.590)HKT null null null true 2016-08-13(15:19:52.590)HKT null
感谢任何帮助!
UPDATE /解决
在获取实体时使用int(uid)解决它。它创造了一个新的实体,因为两个键是不同的。一个是133877436,并被引号为'133877436',因此名称被称为。
希望这有助于其他人
答案 0 :(得分:0)
如果你想更新你应该通过他的id检索这个实体的实体,那么你可以改变旧值。例如:
entity_to_edit = Entity.get_by_id(this_entit_id)
entity_to_edit.some_attribute = "new_variable"
entity_to_edit.put()