Я установил определения таблиц sqlalchemy в разных модулях в папке с именем schemas
. Например:
ls -1 schemas/*.py $
schemas/__init__.py
schemas/base.py
schemas/reference.py
schemas/warehouse.py
Однако, чтобы теперь использовать эти определения в отражающей форме, взглянув на base._decl_class_registry
или base.metadata
, мне нужно импортировать модули схемы:
from schemas import base, reference, warehouse, reference
Это вызывает предупреждение unused import
, потому что я не ссылаюсь непосредственно на определения таблиц в этих модулях, а извлекаю информацию из базы.
Кажется, проблема в том, что sqlalchemy регистрирует эти таблицы, просто выполняя импорт.
Я просмотрел документацию по sqlalchemy и не могу выяснить, возможно ли сделать эту регистрацию более питоническим способом.
Вот пример того, что я эффективно делаю.
# removing this means reference is no longer registered to the metadata
from schemas import base, reference
class SomeOtherClass:
def printMetadata():
print(base.Base.metadata)
Есть ли лучший способ импортировать эти модули и таблицы?
Я надеюсь, что смогу сделать это без предупреждения flake8, чтобы соответствовать моему стилю кода.