flask-sqlalchemy: дизайн базы данных - как использовать возвращаемое значение из функции в качестве значения по умолчанию для столбца? - PullRequest
0 голосов
/ 26 июня 2019

Я использовал flask-sqlalchemy для создания модели для своей базы данных

class User(db.Model, UserMixin):
    """A user who has an account on the website."""
    __tablename__ = 'users'

    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    first_name = db.Column(db.String, nullable=False)
    last_name = db.Column(db.String, nullable=False)

    # here are some irrelatvant columns ...

    image_file = db.Column(db.String, nullable=False, default='default.jpg')

Я создаю изображение по умолчанию для изображения профиля пользователя как жестко запрограммированное изображение, сохраненное в папке static/img.Тем не менее, я хотел бы использовать gravatar, который использовал хэш-версию электронной почты пользователя для создания изображения профиля github по умолчанию.

У меня есть функция

def avatar(self, size=128):
    digest = md5(self.email.lower().encode('utf-8')).hexdigest()
    return 'https://www.gravatar.com/avatar/{}?d=identicon&s={}'.format(digest, size)

Я хотел бы использовать возвратзначение из функции avatar() в качестве изображения по умолчанию.Я пытался передать avatar и self.avatar в качестве аргумента для default=.Однако они оба не работают.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...