如何更改要在其中插入类实例的表?使用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()
有更好的方法吗?似乎效率很低,并且在将类导入不同文件时会引起麻烦。
答案 0 :(得分:0)
数据库模型是表及其数据的表示。我看不出有2个表具有相同数据和列定义的理由,而afaik则没有。
看看您的模型和示例,建议您添加一个AddFieldConfig
列,其中包含houseType := &graphql.Object{...}
residentType := &graphql.Object{...}
houseType.AddFieldConfig("residents", &graphql.Field{Type: graphql.NewList(residentType)})
residentType.AddFieldConfig("houses", &graphql.Field{Type: graphql.NewList(houseType)})
或type
。这样,您可以保持数据整洁,并且仍然能够查询所需的内容。