首页 文章

如何从SQLAlchemy中的视图中继承另一个模型

提问于
浏览
0

我正在使用带有SQLAlchemy的Flask,我有一个“用户”DB.Model类 . 我在我的数据库中有一个视图,基本上是一个SELECT * FROM用户WHERE ...,我希望能够像我的用户模型一样对待该视图 .

是否可以从我的视图中读取的新类继承我的User类中的所有方法和属性?

1 回答

  • 0

    是 . 您想要使用的内容似乎是单表继承映射的示例 . 这是关于它的SQL Alchemy doc .

    因此,在 user 表的类声明中,您可以将 mapper_args 指定为:

    __mapper_args__ = {
        'polymorphic_on':<column used in your where clause>,
        'polymorphic_identity':'user'
    }
    

    您必须以类似于以下的方式声明视图类:

    class UserView(User):
       __mapper_args__ = {
          'polymorphic_identity':'userview'
       }
    

相关问题