Flask-SQLAlchemy如何拥有一个可以在多个表中使用的类

问题描述 投票:0回答:1

如何更改要在其中插入类实例的表?使用PostgreSQL语法,我可以说INSERT INTO departures...来指定我想要的表,但是使用SQLAlchemy,该表与该类相关联,因此我无法在整个应用程序中更改该表。

如果可以找到最佳解决方案,我已经在下面进行了很多研究:

def create_model(table_type):
    class Flight(db.Model):
        __tablename__ = table_type
        __table_args__ = {'extend_existing': True}
        id = db.Column(db.Integer, primary_key = True)
        username = db.Column(db.String, nullable = False)
        ...
    globals().update(locals())

我使用上述模型的方法是在对数据库执行任何操作之前选择table_type:

create_model("departures")
db.session.add(flight1)
db.session.commit()

有更好的方法吗?似乎效率很低,并且在将类导入不同文件时会引起麻烦。

sql postgresql flask flask-sqlalchemy
1个回答
0
投票

数据库模型是表及其数据的表示。我看不出有2个具有相同数据和列定义的表的原因,而afaik则没有。

[查看您的模型和示例,建议您添加一个包含typedeparturesarrivals列。这样,您可以保持数据整洁,并且仍然能够查询所需的内容。

© www.soinside.com 2019 - 2024. All rights reserved.