SQLAlchemy ORM с динамической схемой таблиц
Я пытаюсь заданиеSQLAlchemy ORM создать классField
который описывает все поля в моей базе данных:
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)
Проблема в том, что таблицаfields
описывает разные поля в разных схемах, т.е.
SCM.fields
TDN.fields
...
Мне нужен класс Field для
Инициализироваться с объектомfieldset
прежде чем записи могут быть прочитаны из БДСхема определяетсяfieldset.get_schema()
перед столом<schema>.fields
читаетсяЧто-то вроде этого:
session.query (Field (fieldset))). filter (Field.id == 'некоторое поле')
Тем не менее, добавив
def __init__(self, fieldset)
pass
вclass Field
результаты в
__init__() takes 1 positional argument...
fields
таблицы в одну схему и добавить столбец «имя_схемы», но мне все еще нужно, чтобы у Field была ссылка на его fieldset.Можно ли это сделать с помощьюSQLAlchemy ORM или я должен переключиться наSqlAlchemy Core где бы я мог лучше контролировать создание объектов?