我正在使用带有SQLAlchemy的Flask,我有一个“用户”DB.Model类 . 我在我的数据库中有一个视图,基本上是一个SELECT * FROM用户WHERE ...,我希望能够像我的用户模型一样对待该视图 .
是否可以从我的视图中读取的新类继承我的User类中的所有方法和属性?
是 . 您想要使用的内容似乎是单表继承映射的示例 . 这是关于它的SQL Alchemy doc .
因此,在 user 表的类声明中,您可以将 mapper_args 指定为:
user
mapper_args
__mapper_args__ = { 'polymorphic_on':<column used in your where clause>, 'polymorphic_identity':'user' }
您必须以类似于以下的方式声明视图类:
class UserView(User): __mapper_args__ = { 'polymorphic_identity':'userview' }
1 回答
是 . 您想要使用的内容似乎是单表继承映射的示例 . 这是关于它的SQL Alchemy doc .
因此,在
user
表的类声明中,您可以将mapper_args
指定为:您必须以类似于以下的方式声明视图类: