从 SQLAlchemy 结果返回字段名称和值

2024-06-24

我如何使用 sqlalchemy 获取表列名称和值?

使用我所拥有的,我能够检索:

(2, 'blue', 'square')

但我想得到的是:

{'id': 2, 'color': 'blue', 'type': 'square'}

下面是我读完之后写的此文档适用于 0.9 版本 http://docs.sqlalchemy.org/en/rel_0_9/:

连接管理器.py

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sqlalchemy
from sqlalchemy import Table, MetaData
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base


location = 'localhost'
engine_str = 'mysql+mysqlconnector://xx:xx@{}/xx'.format(location)
engine = sqlalchemy.create_engine(engine_str, echo=False)
session = sessionmaker(bind=engine)
connection = engine.connect()
session = session(bind=connection)
metadata = MetaData()
Base = declarative_base()

class SelectType(object):
    """
    Server's details on database
    """
    def go(self, s, cc, pp):
        __table__ = Table('servers', metadata, autoload=True, autoload_with=engine)
        result = s.query(__table__).filter_by(color=cc).filter_by(type=pp).all()
        return result

def select_type(e, p):
    """
    return SelectType result
    """
    try:
        return SelectType().go(session, e, p)
    except:
        raise
    finally:
        session.close()

主文件.py

#!/usr/bin/env python
# -*- coding: utf-8 -*-
from resources import connection_manager

if __name__ == "__main__":
    try:
for i in connection_manager.select_type('blue', 'square'):
    print(i)

重要的是要注意我正在使用autoload


与使用Query.column_descriptions http://docs.sqlalchemy.org/en/rel_0_9/orm/query.html#sqlalchemy.orm.query.Query.column_descriptions干得好:

class SelectType(object):
    def go(self, s, cc, pp):
        __table__ = Table('servers', metadata, autoload=True, autoload_with=engine)
        result = s.query(__table__).filter_by(color=environment).filter_by(type=pp)
        column_names = [c["name"] for c in result.column_descriptions]
        return [dict(zip(column_names, row)) for row in result.all()]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 SQLAlchemy 结果返回字段名称和值 的相关文章

随机推荐

  • Matlab中皮尔逊系数和协方差的计算

    我想计算皮尔逊相关系数 http en wikipedia org wiki Pearson product moment correlation coefficient在Matlab中 不使用Matlab的corr功能 简单地说 我有两个
  • ckeditor 验证空格

    我如何在 ckeditor 上实现验证以防止用户仅添加空格 今天内的任何答复将不胜感激 以下是迄今为止我尝试进行的验证 Save note from ckeditor input save note click function var n
  • django默认身份验证表单显示用户名而不是电子邮件

    我用 django 实现了我自己的用户登录表单 如下所示 from django contrib auth forms import AuthenticationForm class CustomUserLoginForm Authenti
  • Java 如何知道如何迭代数组

    String strs new String 1 2 6 for String s strs System out println s 这是一个关于java内部的问题 在上面的代码示例中 foreach 循环如何计算出数组的长度 数组实际上
  • 如何配置“git diff”以使用 emacs diff [重复]

    这个问题在这里已经有答案了 是否可以配置 git diff 以使用 emacs diff 如果是的话 你能告诉我怎么做吗 谢谢 看这个问题 如何使用视觉差异程序查看 git diff 输出 https stackoverflow com q
  • Cloud Function 会影响 Firebase 存储带宽使用吗?

    I am trying to figure out why firebase storage usage is far above my expectation 我的 Firebase 存储中只有很少的照片文件 只有大约 75 张照片 每张
  • JMSSerializer + 表单/数组

    我是 SF2 社区的新手 所以请放轻松 我遇到了 JMSSerializerBundle 和表单 数组的问题 我花了两天时间尝试自己解决这个问题 但没有成功 我决定将其发布到小组中 我正在构建一个简单的测试应用程序 它可以让我了解这些东西是
  • Spring WebSockets XML 配置不提供brokerMessagingTemplate

    我正在尝试使用 STOMP 将 WebSockets 支持添加到使用 XML 配置的 Spring MVC 应用程序中 到目前为止 一切进展顺利 我已经成功让 WebSockets 服务器进行监听 并且 stomp js 可以连接到它并发送
  • React PHP 获取 POST 数据

    我试图在 ReactPHP Web 服务器上运行一个简单的 Web 应用程序 但我不知道从哪里获取来自 HTML 表单的 POST 数据 服务器定义为 include vendor autoload php register shutdow
  • 如何避免捕获变量?

    我有问题 foreach var category in categories foreach var word in words var waitCallback new WaitCallback state gt DoSomething
  • 在 ggplot 中编辑图例标签

    我有一个如下所示的数据框 data median min max no of threads 2 33 2 10 6 85 1 2 43 2 14 3 41 2 2 39 2 13 7 90 3 2 74 2 10 8 30 4 2 53
  • Android 模拟器无法运行从 eclipse 启动的应用程序

    我遵循了 Google Android 开发人员指南中的 Hello World 示例 当我尝试在 SDK 模拟器中运行应用程序时 没有任何反应 模拟器启动得很好 但之后什么也没有发生 我什至在应用程序托盘中看不到该应用程序 我正在使用安装
  • 将焦点设置在屏幕顶部 jquery

    我有一个包含多个选项卡的页面 我使用 jquery 根据 href 单击显示和隐藏它们 每当我单击 a href 时 页面就会向下滚动 我正在尝试将焦点设置在页面顶部 这是我在 Jquery 中的第一个项目 我尝试了以下但仍然不起作用 滚动
  • cx_Oracle 和数据源范例

    有一个 Java 范例用于在 Java 中实现数据库访问DataSource 该对象围绕数据库连接的创建创建了一个有用的抽象 这DataSource对象保留数据库配置 但只会根据请求创建数据库连接 这允许您将所有数据库配置和初始化代码保留在
  • Flink Kafka Producer 中的 Exactly-once 语义

    我正在尝试使用 Kafka Source 和 Sink 测试 Flink 的一次性语义 运行 flink 应用程序 只需将消息从一个主题传输到另一个主题 并行度 1 检查点间隔 20 秒 使用 Python 脚本每 2 秒生成递增整数的消息
  • 在 R 中创建矩阵的有效方法

    我正在尝试从向量创建这样的矩阵 vec c 2 5 9 gt A 1 2 3 4 1 2 0 0 0 2 5 3 0 0 3 9 7 4 0 实际上 第一列始终是向量元素 第二列从 0 开始 然后是 5 2 3 然后第二列的第三个元素是 9
  • 未对@Transactional Annotation执行回滚[重复]

    这个问题在这里已经有答案了 我正在尝试创建一个用于转账的 API 即取款和存款 我使用 Transactional Annotation 执行事务 但有一些标准 即如果银行帐号不存在 则应通过运行时异常 我将附上其中的代码 现在 当调用 T
  • C# Linq/Lambda 表达式:如何从字符串中选择整数?

    我认为解释我的问题的最佳方法是使用简短的 通用 linq to objects 代码示例 IEnumerable
  • 如何将 IR 保存到文件并将其构建为可执行文件?

    现在我使用 clang 将 c 文件构建为 s 文件 我已经使用llvm API修改了IR 但是 现在我无法将修改后的 IR 保存到文件中 我想使用 LLVMWriteBitcodeToFile 但找不到 LLVMOpaqueModule
  • 从 SQLAlchemy 结果返回字段名称和值

    我如何使用 sqlalchemy 获取表列名称和值 使用我所拥有的 我能够检索 2 blue square 但我想得到的是 id 2 color blue type square 下面是我读完之后写的此文档适用于 0 9 版本 http d