我有一个用于SQLAlchemy的预先存在的数据库,因此我正在使用自动映射从数据库中获取模型。向这些类添加方法的最佳方法是什么?例如,对于User类,我想添加诸如验证密码之类的方法。另外,我想为flask-login(UserMixin)方法添加方法。

最佳答案

预先Specify your classes explicitly,并按照通常的方式定义方法:

Base = automap_base()

class User(Base):
    __tablename__ = 'user'

    def verify_password(self, password):
        ...

Base.prepare(engine, reflect=True)


现在,Base.classes.UserUser相同,并带有其他方法。要使您的User类flask-login兼容,请实现listed attributes and methods,或将提供的UserMixin添加到您的User类中。 mixin似乎只期望id类中存在User属性/列。

10-07 21:57
查看更多