我正在尝试查找与当前用户相关的用户实体,我似乎无法在用户存储到数据库后找到该用户。
当我第一次创建用户时,我所做的调用如下所示:
newPlayer = model.Player(parent=model.user_key(), user=users.GetCurrentUser(), publicName = nickname)
newPlayer.put()
其中model.Player是我尝试查找的元素,而model.user_key()获取全局祖先用户密钥。
当我去查找它们时,我会执行以下操作:
model.Player.all().filter('user =', usr).ancestor(user_key()).fetch(1)
模型Player类看起来像这样:
class Player(db.Model):
user = db.UserProperty
publicName = db.StringProperty()
每次都返回一个空列表。我在这做错了什么?我现在开始质疑决定论......
答案 0 :(得分:1)
用户不是数据存储区中的类,因此您无法让玩家成为其中的一员。这应该有效:
newPlayer = model.Player(user=users.get_current_user(), publicName='john')
newPlayer.put()
usr = users.get_current_user()
john = model.Player.all().filter('user =', usr).fetch(1)
print john.nickname
>> 'john'
注意: get_current_user()不是 GetCurrentUser() source