SQLAlchemy automap - 向自动映射模型添加方法

hat*_*oku 2 python sqlalchemy flask flask-sqlalchemy

我有一个与 SQLAlchemy 一起使用的预先存在的数据库,因此我使用 automap 从数据库中获取模型。向这些类添加方法的最佳方法是什么?例如,对于 User 类,我想添加验证密码等方法。另外,我想添加烧瓶登录(UserMixin)方法的方法。

Ilj*_*ilä 6

预先明确指定您的类,并像平常一样定义您的方法:

Base = automap_base()

class User(Base):
    __tablename__ = 'user'

    def verify_password(self, password):
        ...

Base.prepare(engine, reflect=True)
Run Code Online (Sandbox Code Playgroud)

现在Base.classes.UserUser是相同的,只是添加了其他方法。要使您的User类 Flask-login 兼容,请实现列出的属性和方法,或将提供的添加UserMixin到您的User类中。mixin 似乎只期望类中存在属性id/列User