我创建一个像这样的实体:
company = dbDatafile(usOwner = user)
company.name = self.request.get("name")
company.put()
其中 user 是 Google 用户帐户。现在,当我尝试搜索该用户时,例如:
datafiles = dbDatafile.gql("WHERE usOwner = '%s'" % user.user_id())
分配给 jinja2 模板变量:
template_values = {
'datafiles': datafiles
}
并输出到html:
{% for datafile in datafiles %}
>>>{{ datafile.name }} chevrons to indicate any looping
{% endfor %}
我没有得到任何输出。
数据位于管理仪表板中,但我无法访问它。有什么想法吗?
谢谢
最佳答案
如果 usOwner
是 UserProperty,则需要在 GQL 中使用 USER()
:
datafiles = dbDatafile.gql("WHERE usOwner = USER(:1)", user.email())
还要记住始终使用占位符,而不是字符串插值 - 仅仅因为它不是 SQL,并不意味着它不易受到注入(inject)攻击。
关于python - 如何在实体中使用谷歌用户ID - python appengine,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8119922/