【问题标题】:Retrieve PostgreSQL column using SQLAlchemy使用 SQLAlchemy 检索 PostgreSQL 列
【发布时间】:2020-03-25 01:22:52
【问题描述】:

我正在使用 SQLAlchemy 从数据库中的表中返回某些列,但我遇到了一个特定列的问题。

import sqlalchemy as db

engine = db.create_engine('postgresql://username:password@host:port/db')
table_a = db.Table("table_a", db.MetaData(), autoload = True, autoload_with = engine)

query = db.select([table_a.columns.document_num.distinct(),
                   table_a.columns.class])

从上面的脚本中可以看出,其中一列名为class,这会产生无效的语法错误。

不幸的是,重命名数据库中的列不是一种选择,因此我正在尝试寻找另一种解决方法。

【问题讨论】:

  • table_a.columns["class"].

标签: python python-3.x postgresql sqlalchemy


【解决方案1】:

你可以使用

getattr(table_a.columns, "class")

按名称获取列。如果“类”是一个变量,这也将起作用,例如

class = "class"
getattr(table_a.columns, class)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-01
    • 2018-10-04
    • 1970-01-01
    • 2010-12-30
    • 2016-09-30
    • 2017-07-12
    • 1970-01-01
    • 2020-04-22
    相关资源
    最近更新 更多