Sqlalchemy: получить класс Python из sqlalchemy.schema.MetaData - PullRequest
2 голосов
/ 15 июля 2011

Я пытаюсь предварительно заполнить списки связанных объектов. Поэтому для определенного сопоставленного класса я перечисляю все таблицы следующим образом:

ExampleClass - это мой сопоставленный класс Python, например.

name = ExampleClass.__name__
tables = [x for x in ExampleClass.metadata.tables.keys() if x != name ]

Итак, я получил имя таблицы, но как я могу получить класс, связанный с этими таблицами?

Возможно ли это?

Я использую декларативный способ сопоставления таблицы и класса.

Заранее спасибо.

1 Ответ

1 голос
/ 13 августа 2011

Я нашел этот способ, передавая параметр имени таблицы, найденный в таблицах списка

def __find_class(self, table):
        for x in mapperlib._mapper_registry.items():
            if x[0].mapped_table.name == table:
                return x[0].class_
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...