Czy jest konieczne, aby dwa modele SQLAlchemy dziedziczyły po tym samym wystąpieniu declarative_base()
, jeśli muszą uczestniczyć w tej samej sesji? Jest tak prawdopodobnie w przypadku importowania dwóch lub więcej modułów definiujących modele SQLAlchemy.Czy dwa deklaratywne modele SQLAlchemy mają tę samą deklaratywną bazę danych()?
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
class SomeClass(Base):
__tablename__ = 'some_table'
id = Column(Integer, primary_key=True)
name = Column(String(50))
Base2 = declarative_base()
class AnotherClass(Base2):
__tablename__ = 'another_table'
id = Column(Integer, primary_key=True)
name = Column(String(50))
Można również użyć pojedynczej sesji z argumentem binds = {Class: database, ...}. – joeforker
Pewnie. Ale taki wiążący się słownik jest trudny do utrzymania, gdy staje się ogromny. Chociaż mówię o konstruowaniu go automatycznie z kilku obiektów metadanych. –