Как я могу изменить, в какую таблицу вставлять экземпляры класса? С синтаксисом 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()
Есть ли лучший способ сделать это? Это кажется довольно неэффективным и вызывает проблемы при импорте класса в разные файлы.