我有这个模型:
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()
最佳答案
这里不能使用类方法。
classmethod 中没有 self
,按照惯例,它是 cls
并且您传递的是类而不是实例。 to_message
应该是一个普通的方法。
关于python - 如何使用@classmethod将实体转换为消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21769836/