Вы можете определить метод, как вы описываете, или вы можете определить свойство, например:
class MyModel(db.Model):
email = db.StringProperty(required=True)
@property
def avatar_url(self):
return "http://gravatar.com/avatar/%s" % (hashlib.md5(self.email).hexdigest(),)
Затем вы можете ссылаться на это как instance.avatar_url
(или в шаблоне, {{instance.avatar_url}}
).
В шаблоне jinja2 любой из них будет работать нормально, но использование свойства немного удобнее, если вам нужно запросить его в другом месте.Так как только экземпляры свойств хранилища данных приводят к хранению данных в хранилище данных, ваше свойство не будет храниться в хранилище данных.