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

xpszyzbs  于 2021-07-26  发布在  Java
关注(0)|答案(1)|浏览(302)

如何更改要插入类示例的表?使用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())

我使用上述模型的方法是在对db执行任何操作之前选择表类型,如下所示:

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

有没有更好的办法?在将类导入到不同的文件时,它似乎效率很低,并且会造成麻烦。

vkc1a9a2

vkc1a9a21#

数据库模型是表及其数据的表示。我看不出有什么理由让两个表中有相同的数据和列定义,而且afaik,你不能。
看看你的模型和例子,我建议你加一个 type 包含 departures 或者 arrivals . 通过这种方式,您可以保持数据的干净,并且仍然能够查询您想要的内容。

相关问题