1

我有这个模型:

class User(ndb.Model):
    firstname = ndb.StringProperty(required = True)
    lastname = ndb.StringProperty(required = True)
    email = ndb.StringProperty(required = True)
    birthday = ndb.DateProperty(required = True)

    @classmethod
    def to_message(self):
        return UserMessage(firstname = self.firstname,
                           lastname = self.lastname,
                           email = self.email,
                           birthday_day = self.birthday.day)

其中 UserMessage 是一个 protoRPC 对象。并想要这样的东西:

user = User.query(User.email == 'john@example.com').get()
user_message = user.to_message()
4

1 回答 1

2

你不能在这里使用类方法。

在 classmethod中没有self,按照惯例,它是cls并且你被传递给类而不是实例。to_message应该是正常的方法。

于 2014-02-14T06:40:39.643 回答