добавить свойства пользователям google app engine - PullRequest
2 голосов
/ 24 марта 2010

Как лучше всего сохранить профиль пользователя с помощью Google App Engine (Python)? Чтобы решить эту проблему, я создал другую модель с UserProperty, но, запрашивая профиль у пользователя, я должен сделать что-то вроде этого:

if user:
    profile = Profile.all().filter('user =', user).fetch(1)
    if profile:
        property = s.get().property

Есть идеи?

Ответы [ 3 ]

4 голосов
/ 24 марта 2010

Если вы сделаете user_id пользователя key_name сущности профиля пользователя, вы можете получить его, используя Profile.get_by_key_name (), что будет быстрее, чем запрашивать и затем извлекать.

Memcaching, включая user_idтак как часть ключа позволит еще быстрее получить доступ к профилю.

1 голос
/ 08 октября 2010

Это не решение, а предупреждение.

значение пользователя не является уникальным и стабильным идентификатором для пользователя. А свойство user_id существует только для пользователей Google, а не для OpenId. Поэтому не верьте этому решению.

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

Нет, это довольно правильный подход (хотя, возможно, вы захотите также сохранить некоторые из этих профилей в memcache ;-). Это будет быстро, так как в поле user будет индекс. Вы точно не можете изменить предоставленную Google модель пользователя, если это то, что вы просите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...