GQL如何按用户属性选择
嘿,我有这段代码,但它不工作,因为它需要一个字符串。请问我该怎么做才能让它正常运行呢?
class Atable(BaseModel):
owner = db.UserProperty()
(...)
--------- // --------------
query = "SELECT * FROM Atable WHERE owner=", users.get_current_user()
results = db.GqlQuery(query)
我该怎么修复这个搜索呢?谢谢你 :)
我昨天才开始使用appengine数据库,所以请多多包涵哦 :)
3 个回答
0
如果你只是想获取某个用户的一些数据,使用Python的查询方式可能会更简单。
比如在你的类Something(db.Model)里,你可以这样定义:
@staticmethod
def get_something_by_user(user):
query = db.Query(Something).filter('users =', user)
result = query.fetch(limit=1000)
return result
然后你可以通过下面的方式来调用它:
user = users.GetCurrentUser()
results = Something.get_something_by_user(user)
3
你可以试试用GQL的方式:
results = db.GqlQuery("SELECT * FROM Atable WHERE owner = :1", users.get_current_user().key())
或者用Python查询的方式:
query = db.Query(Atable)
results = query.filter('owner =', users.get_current_user())
2
在编程中,有时候我们会遇到一些问题,特别是在使用某些工具或库的时候。这些问题可能会让我们感到困惑,不知道该怎么解决。比如,有人可能在使用某个特定的功能时,发现它并没有按照预期的方式工作。这个时候,查看相关的讨论或者问答网站,比如StackOverflow,就能帮助我们找到解决方案。
在这些讨论中,其他程序员会分享他们的经验和解决方法,甚至可能会提供一些代码示例,帮助我们更好地理解问题所在。通过这些交流,我们可以学习到很多实用的技巧和知识,避免走弯路。
总之,遇到问题时,不要害怕寻求帮助,利用好网络上的资源,可以让我们的编程之路更加顺畅。
query = GqlQuery("SELECT * FROM Atable WHERE owner = :1", users.get_current_user())