Я хотел бы оптимизировать это так, чтобы каждая таблица (например, Trans, Scripts) использует одну вставку в ... значения (...), (...), (...) оператор, вместо нескольких однорядных вставков. session.flush ().
Из-за этого я не могу использовать bulk_save_objects, поскольку он не поддерживает отношения или правильно обрабатывает первичное назначение ключей. />Base = declarative_base()
class Config(Base):
__tablename__ = 'configs'
id = Column(Integer, primary_key=True)
name = Column(String)
trans = relationship("Trans", back_populates="config", cascade="all")
scripts = relationship("Script", back_populates="config", cascade="all")
class Trans(Base):
__tablename__ = 'trans'
id = Column(Integer, primary_key=True)
config_id = Column(Integer, ForeignKey("configs.id"))
name = Column(String)
config = relationship("Config", back_populates="trans")
class Script(Base):
__tablename__ = 'scripts'
id = Column(Integer, primary_key=True)
config_id = Column(Integer, ForeignKey("configs.id"))
name = Column(String)
config = relationship("Config", back_populates="scripts")
engine = create_engine("sqlite:///:memory:", echo=True)
Base.metadata.create_all(engine)
Session = sessionmaker(bind=engine, autoflush=True)
session = Session()
cfg = Config(name="MyConfig")
cfg.trans.append(Trans(name="T1"))
cfg.trans.append(Trans(name="T2"))
cfg.scripts.append(Script(name="S1"))
cfg.scripts.append(Script(name="S2"))
# others children will be picked up via cascade
session.add(cfg)
session.flush()
Подробнее здесь: https://stackoverflow.com/questions/796 ... ascade-all
Оптимизация промывки: единая много рядовая вставка на таблицу, несмотря на Cascade = 'All' ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Оптимизация промывки: единая много рядовая вставка на таблицу, несмотря на Cascade = 'All'
Anonymous » » в форуме MySql - 0 Ответы
- 2 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Оптимизация промывки: единая много рядовая вставка на таблицу, несмотря на Cascade = 'All'
Anonymous » » в форуме Python - 0 Ответы
- 2 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Оптимизация промывки: единая много рядовая вставка на таблицу, несмотря на Cascade = 'All'
Anonymous » » в форуме Python - 0 Ответы
- 2 Просмотры
-
Последнее сообщение Anonymous
-