SQLAlchemy ORM com esquema de tabela dinâmica
Eu estou tentando tarefaSQLAlchemy ORM criar classeField
que descreve todos os campos no meu banco de dados:
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
class Field(Base):
__tablename__ = 'fields'
__table_args__ = {'schema':'SCM'}
id = Column(String(20), primary_key=True)
A questão é essa tabelafields
descreve campos diferentes em esquemas diferentes, ou seja,
SCM.fields
TDN.fields
...
Preciso da classe Field para
Ser inicializado com o objetofieldset
antes que os registros possam ser lidos no banco de dadosEsquema determinado porfieldset.get_schema()
antes da mesa<schema>.fields
está lido.Algo assim:
session.query (Field (fieldset))). filter (Field.id == 'algum campo')
No entanto, adicionar
def __init__(self, fieldset)
pass
paraclass Field
resulta em
__init__() takes 1 positional argument...
fields
tabelas em um esquema e adicione a coluna 'schema_name', mas ainda preciso que o Field tenha um link para seu fieldset.Isso pode ser feito usandoSQLAlchemy ORM ou devo mudar paraSqlAlchemy Core onde eu teria mais controle sobre a instanciação de objetos?