В комментарии вы сказали, что настоящая цель - зашифровать пароли на входе и выходе из класса. Sqlalchemy предлагает это с помощью гибридных свойств. Это пример из одного из моих проектов -
class User(Base):
__tablename__ = "user"
id = Column(Integer, primary_key=True)
username = Column(String(255))
hashed_password = Column("password", String(255))
@hybrid_property
def password(self):
return self.hashed_password
@password.setter # type: ignore
def password(self, value):
rounds = 4
if not isinstance(value, bytes):
value = value.encode("utf-8")
self.hashed_password = hashpw(value, gensalt(rounds)).decode("utf-8")
(так что в этом случае в базе данных хранится только хешированный пароль - чтобы проверить пароль, введите sh и сравните его с user.password)