Как отфильтровать пользователей по электронной почте в Google App Engine? - PullRequest
1 голос
/ 07 октября 2009

Я пытался использовать User (email = email) и User.all (). Filter ('email =', email) .get (), но оба они не работают для меня.

Спасибо

Ответы [ 3 ]

2 голосов
/ 08 октября 2009

Правильный ответ: User(email).

1 голос
/ 07 октября 2009

Вам необходимо создать объект User для пользователя, по которому вы хотите фильтровать - я предполагаю, что ваша модель включает в себя UserProperty. Например:

User.all().filter("user =", User(email)).get()

В противном случае вы можете денормализовать и сохранить электронную почту пользователя в дополнительном поле StringProperty.

Однако если вы используете пользователя в качестве первичного ключа для вашей сущности, вам лучше будет извлечь user___id из объекта User и использовать его в качестве имени ключа для сущности при его создании. Затем вы можете получить его с помощью User.get (user_id), что гораздо эффективнее, чем выполнение запроса.

0 голосов
/ 07 октября 2009

Если вы используете вариант GAE для Django, попробуйте:

User.all().filter(email = email)
...