google 应用引擎 python:如何扩展 ndb 用户 class

google app engine python: how to extend ndb User class

我正在使用 google 云端点并希望能够扩展 User class 以便调用 get_current_user 将 return具有我自己的额外属性的 AppUser 对象。

class AppUser(--?--): # what should i put here
    gcm = ndb.StringProperty()

    def send_notification(self):
         # do something with gcm ...
         pass

我怎样才能实现这样的事情?还有更好的方法吗?

官方不支持,不建议乱用;有更好的方法,只需通过user_id添加一个新的Model和link,然后你就可以用它做任何你想做的事了。

class Preferences(ndb.Model):
    gcm = ndb.StringProperty()

user = users.get_current_user()
Preferences(
    gcm='',
    id=user.user_id(),
).put()
prefs = Preferences.get_by_id(user.user_id())