python - 使用 SQLAlchemy 检索 PostgreSQL 列
问题描述
我正在使用 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
,这会产生无效的语法错误。
不幸的是,重命名数据库中的列不是一个选项,所以我试图找到另一种解决方法。
解决方案
您可以使用
getattr(table_a.columns, "class")
按名称获取列。例如,如果“类”是一个变量,这也将起作用
class = "class"
getattr(table_a.columns, class)
推荐阅读
- vba - VBA Word:Property Revision.Style 不起作用
- azure - 在哪里可以找到 Azure 函数的代码?
- android - 右键单击 res 文件夹时没有“android 资源目录”选项
- generics - 我可以有可选的特征界限吗?
- google-chrome - 忘记特定域的客户端证书设置 (Chrome)
- r - R中符号和文本之间的图例中的空格
- python-3.x - 我们可以在同一个程序中有两个 pyfirmata 迭代器吗?
- java - org.xml.sax.SAXParseException;1 字节 UTF-8 序列的无效字节 1
- python - sqlalchemy filter_by() 又多了一个参数
- codenameone - 代号一 - 以编程方式在搜索栏中开始编辑