GQL как выбрать по UserProperty - PullRequest
       14

GQL как выбрать по UserProperty

1 голос
/ 26 марта 2010

Эй, у меня есть этот код, но он не работает, потому что он ожидает строку. Как я могу заставить это работать?

class Atable(BaseModel):
    owner = db.UserProperty()
        (...)

--------- // --------------
query = "SELECT * FROM Atable WHERE owner=", users.get_current_user()
results = db.GqlQuery(query)

Как я могу исправить этот поиск? Спасибо:)

Я начал с базы данных appengine вчера, так что будьте осторожны:)

Ответы [ 3 ]

3 голосов
/ 26 марта 2010

Вы можете попробовать способ 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())
2 голосов
/ 26 марта 2010
query = GqlQuery("SELECT * FROM Atable WHERE owner = :1", users.get_current_user())
0 голосов
/ 26 марта 2010

Способ запроса 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...