0
0 комментариев

Проблема: пересчитать хэш адреса электронной почты при его изменении. Иду в лоб:

class User(db.Model):
    __tablename__ = "users"
    id = db.Column(db.Integer, primary_key=True)
    nickname = db.Column(db.String(64), index=True, unique=True, nullable=False)
    email = db.Column(db.String(120), index=True, unique=True, nullable=False)
    email_hash = db.Column(db.String(32))
 
    @property
    def email(self):
         return self.email
 
    @email.setter
    def email(self, email):
        #считаем хэш
        self.email_hash=hash
        self.email = email

Выход это поменять имя аттрибута на _email, чтобы оно не конфликтовало с именем свойства, но такой способ не приемлем, так как класс является отображением реальных таблиц, в которых нижние подчеркивания и прочее шаманства с именами не допустимы.


Добавить комментарий