【发布时间】:2015-03-12 21:26:47
【问题描述】:
假设您想在 sqlalchemy 中迭代 ORM 类的 ORM 属性。 因此,您需要一个 ORM 属性列表。您如何获得这份清单?
如果 ORM 类没有重命名属性,因此 ORM 属性与数据库列匹配,那么您可以使用以下解决方案: https://stackoverflow.com/a/24748320/1023033 (顺便说一句,在源代码文件 /lib/sqlalchemy/orm/base.py 中还有一个内置(私有)函数 _orm_columns() 似乎提供了这个功能)
但如果 python ORM 类的名称与数据库列的名称不同(例如在这 3 个 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 属性呢?
【问题讨论】:
标签: python sqlalchemy