如何在Google App Engine中通过用户搜索实体?

2024-04-27 00:19:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试查找与当前用户相关的用户实体,但在用户存储在数据库中之后,我似乎找不到该用户。你知道吗

当我第一次创建用户时,我所做的调用如下所示:

newPlayer = model.Player(parent=model.user_key(), user=users.GetCurrentUser(), publicName = nickname)
newPlayer.put()

在哪里模特。玩家是我试图查找的元素,并且model.user\u密钥()获取全局祖先用户密钥。你知道吗

当我去查找它们时,我会执行以下操作:

model.Player.all().filter('user =', usr).ancestor(user_key()).fetch(1)

model Player类如下所示:

class Player(db.Model):
    user = db.UserProperty
    publicName = db.StringProperty()

每次都返回一个空列表。我做错什么了?我现在开始质疑决定论。。。你知道吗


Tags: key用户实体数据库dbmodelnickname密钥
1条回答
网友
1楼 · 发布于 2024-04-27 00:19:07

User不是数据存储中的类,所以不能将player作为它的子类。这应该起作用:

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\u current\u user()不是GetCurrentUser()source

相关问题 更多 >