sqlalchemy:重命名列名

问题描述 投票:0回答:1

我刚刚开始学习 sqlalchemy 所以我对这样一个基本问题表示歉意。

有没有办法使用核心表定义部分重命名列名称,而不必将其作为映射器属性的一部分?

        t_Nations = Table(
            'Nations', metadata,
            Column('Code', String(10), primary_key=True, unique=True),
            Column('CommonName', String(50)),
            Column('FullName', String(100))
        )

        mapper(Nation, t_Nations, properties={
            'code': t_Nations.c.Code,
            'common_name': t_Nations.c.CommonName,
            'factor': t_Nations.c.Factor
        })

我知道你可以通过以下方式在 ORM 流程中做到这一点:

        class Master_Nations(Base):
            __tablename__ = "Nations"

            code = Column('Code', String(10), primary_key=True)
            common_name = Column('CommonName', String(50))
            factor = Column('Factor', Numeric(5, 1))

例如,我想将 Nations 表中的“CommonName”列重命名为“common_name”,以便它与我的域模型类正确对齐。

非常感谢您的帮助。 结核病

python sqlalchemy
1个回答
0
投票

Gord正确 - key 参数允许我重命名表定义中的列名称。

© www.soinside.com 2019 - 2024. All rights reserved.