【发布时间】:2017-01-17 10:05:44
【问题描述】:
我在 PostgreSQL 中有一个表,其中包含有关文档的信息。让我们这么说吧:
table: doc
id (int)
name (string)
type (int)
type 是文档的类别(例如 1 - 护照,2 - 保险等)。此外,我还有不同的表格,其中包含每种文档类型的附加信息。
table: info
id (int)
doc_id (fk)
info (additional columns)
我希望有一个 SQLAlchemy 模型来处理与其附加信息相关联的每种类型的文档,并且能够管理要显示的列(对于 Flask-Admin,如果它很重要的话)。
现在要将两个表连接到某种“模型”中,我使用了类似 SQLAlchemy 文档中的Mapping Table Columns(当只有一种类型的文档时):
class DocMapping(db.Model):
__table__ = doc.__table__.join(info)
__mapper_args__ = {
'primary_key': [doc.__table__.c.id]
}
现在的问题是:如何根据 doc.type 列创建多个继承自 db.Model 的类(DocPassportMapping、DocInsuranceMapping 等)?
类似的东西:
__table__ = doc.__table__.join(info).filter(doc.type)
这显然行不通,因为我们这里没有 query 对象。
【问题讨论】:
标签: python postgresql flask sqlalchemy flask-admin