Как преобразовать сущность в сообщение с помощью @classmethod
У меня есть эта модель:
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()
1 ответ
Решение
Вы не можете использовать метод класса здесь.
Здесь нет self
в методе класса, по соглашению cls
и вы прошли класс не экземпляр. to_message
должен быть нормальным методом.