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

时间:2015-08-21 04:55:34

标签: python flask sqlalchemy flask-sqlalchemy

我将Flask与SQLAlchemy一起使用,我有一个"用户" DB.Model类。我在我的数据库中有一个视图,它本质上是一个SELECT * FROM用户WHERE ...,我希望能够像我的用户模型一样对待该视图。

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

1 个答案:

答案 0 :(得分:0)

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

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

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

您必须以类似于:

的方式声明视图类
class UserView(User):
   __mapper_args__ = {
      'polymorphic_identity':'userview'
   }