嘿,我有这段代码,但它没有用,因为它需要一个字符串。我怎样才能使它发挥作用?
class Atable(BaseModel):
owner = db.UserProperty()
(...)
--------- // --------------
query = "SELECT * FROM Atable WHERE owner=", users.get_current_user()
results = db.GqlQuery(query)
如何修复该搜索? 谢谢:))
我昨天开始使用appengine数据库,所以要温柔:)
答案 0 :(得分:3)
您可以尝试GQL方式:
results = db.GqlQuery("SELECT * FROM Atable WHERE owner = :1", users.get_current_user().key())
或Python Query方式:
query = db.Query(Atable)
results = query.filter('owner =', users.get_current_user())
答案 1 :(得分:2)
query = GqlQuery("SELECT * FROM Atable WHERE owner = :1", users.get_current_user())
答案 2 :(得分: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)