3

我有一个基于ndb的模型,同时保存它,我用当前登录用户的用户ID存储'id'字段。 (为什么我这样做呢?其实这个模型中使用是基于db.Model和KEY_NAME具有该用户的ID。现在,我将其转换为NDB)使用Appengine的NDB从实体的ID获取密钥

m= Modelclass(id = str(users.get_current_user().used_id()), 
     --- Other fields --- 
m.put() 

这种模式的编辑形式发送这个“身份证”我想从中获得相应的“关键”。但是,我得到了“密钥ID号太长;收到'一些big_number'”。试图左右逢源

Modelclass.get_by_id(<id>).key 

OR

ndb.Key('Modelclass', <id>) 

这是一个情况,有可能是其他情况下,用户可以存储在“ID”领域的一些大数目。在这些情况下,我们无法从'id'中提取密钥。那么,如何解决这样的问题。

我是新来的ndb。谢谢你的帮助。

回答

6

看起来像你的值是一个整数,而不是一个字符串。但是在创建实体时将其转换为字符串。有一个简单的解决方案:

ndb.Key('Modelclass', str(<id>)) 

祝你好运!

+0

谢谢!有效。我仍然处于'db'的思维模式。 :) – rajpy

相关问题