È necessario che due modelli SQLAlchemy ereditino dalla stessa istanza di declarative_base()
se devono partecipare alla stessa sessione? Questo è probabilmente il caso quando si importano due o più moduli che definiscono i modelli SQLAlchemy.Due modelli dichiarativi di SQLAlchemy devono condividere lo stesso dichiarative_base()?
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))
È anche possibile utilizzare una singola sessione con l'argomento binds = {Class: database, ...}. – joeforker
Sicuro. Ma il dizionario di questo tipo è difficile da mantenere quando diventa enorme. Mentre dico di costruirlo automaticamente da diversi oggetti di metadati. –