1

我保存了user_id()字段,现在我想查询该用户的数据存储。 我该如何去完成这件事?GAE DataStore:通过user_id字段查询现有的

#Something like 
user = db.Query(MyUser).filter('user.user_id() = ', 1234).fetch(limit=1) 

感谢

+0

我想只有变量支持你有一个函数user.user_id()'。我认为你最多使用一个临时变量来使你的查询工作。 –

回答

3

你应该创建一个单独的字符串属性来存储用户ID,然后查询这一点。 UserProperty类充满了陷阱,最好避免。

1

,如果你正在寻找的是实际的实体ID,那么你可以用get_by_id方法,它查询

user = MyUser.get_by_id(1234) 

请注意,如果你与父母创建它的您也需要将它传递给get_by_id()函数。

user = MyUser.get_by_id(1234, parent=parent) 

文档: https://developers.google.com/appengine/docs/python/datastore/modelclass#Model_get_by_id

+1

不,我的意思是我保存一个用户类实例,它实现了函数user_id()并表示一个Google帐户。并将该实例存储在数据存储中,希望能够通过查询找到它。 – zehelvion

+1

您无法查询或筛选函数结果。您是否将用户标识作为属性存储在模型中?你应该用你的模型,user_id函数和你如何保存实体来更新你的问题 – aschmid00