如何在实体中使用谷歌用户ID - python appengine
我创建一个像这样的实体:
company = dbDatafile(usOwner = user)
company.name = self.request.get("name")
company.put()
其中 user 是 Google 用户帐户。现在,当我尝试搜索该用户时,例如:
datafiles = dbDatafile.gql("WHERE usOwner = '%s'" % user.user_id())
分配给 jinja2 模板 var:
template_values = {
'datafiles': datafiles
}
并输出到 html:
{% for datafile in datafiles %}
>>>{{ datafile.name }} chevrons to indicate any looping
{% endfor %}
我没有得到任何输出。
数据位于管理仪表板中,但我无法访问它。有什么想法吗?
谢谢
I create an entity like so:
company = dbDatafile(usOwner = user)
company.name = self.request.get("name")
company.put()
where user is the Google User account. Now when I try to search on that user like:
datafiles = dbDatafile.gql("WHERE usOwner = '%s'" % user.user_id())
assign to a jinja2 template var:
template_values = {
'datafiles': datafiles
}
and output to html:
{% for datafile in datafiles %}
>>>{{ datafile.name }} chevrons to indicate any looping
{% endfor %}
i get no output.
The data is there in the admin dashboard but I can't access it. Any ideas?
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果
usOwner
是 UserProperty,则需要在 GQL 中使用USER()
:还要记住始终使用占位符,而不是字符串插值 - 只是因为它不是 SQL,不这意味着它不容易受到注射。
If
usOwner
is a UserProperty, you need to useUSER()
in GQL:Also remember always to use placeholders, not string interpolation - just because it's not SQL, doesn't mean it's not vulnerable to injection.
好吧,这并不是严格回答我的问题,而是一个小小的解决方法。我决定使用父功能,因此我的代码现在如下所示:
不确定这是否理想,但它可以工作并且与高复制数据存储兼容。
OK this isn't strictly answering my question but a slight workaround. I decided to use the parent feature so my code now looks like this:
Not sure if this is ideal but it works and is compatible with the High Replication datastore.