Предположим, вы хотите перебрать атрибуты ORM класса ORM в sqlalchemy. Итак, вам нужен список атрибутов ORM. Как вы получаете этот список?
Если класс ORM не переименовывает атрибуты, и поэтому атрибуты ORM соответствуют столбцам базы данных, вы можете использовать это решение из: qaru.site/info/45400/... (Кстати, в файле исходного кода /lib/sqlalchemy/orm/base.py есть встроенная (закрытая) функция _orm_columns(), которая, как представляется, предоставляет эту функцию)
Но если класс ORM python имеет разные имена, чем столбцы базы данных (например, в этих трех атрибутах ORM):
>>> class User(Base):
... __tablename__ = 'users'
...
... id = Column('pkey', Integer, primary_key=True)
... name = Column('user_name', String)
... fullname = Column('human_name', String)
то этот метод не работает. Итак, как вы получите версию python атрибутов ORM?