В приложении App Engine я сохраняю зарегистрированных членов в таблице, которая выглядит следующим образом:
class Member(db.Model):
user = db.UserProperty(required=True)
#other stuff
Проблема начинается, когда мне нужно проверить, есть ли пользователь в моей таблице участников. Документация GAE гласит, что пользовательская ценность не гарантируется, что она не изменится во времени, так как она состоит из объекта user + email Таким образом, это изменится, если пользователь изменит электронную почту в этой учетной записи.
Я использую OpenID. Поэтому я подумал об использовании User.federated_identity () в качестве стабильного идентификатора.
Однако, чтобы проверить это, мне нужно сделать запрос, подобный этому:
u = users.get_current_user()
rm = Member.all().filter('user_federated_identity =',u.federated_identity()).get()
Это правильный запрос в Django, но, очевидно, не в GAE. Что я могу сделать здесь, кроме загрузки всех моих членов в память и проверки их federated_identity?