SQLALchemy 和 Python - 获取 SQL 结果

2024-05-16 23:43:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用cloudkitty,它是OpenStacks中的评级模块。

但这里的问题是关于SQLAlchemy和Python。

我是新来的炼金术。

我需要使用API调用从表中获取一些详细信息。

因此,我创建了一个API调用,如下所示:

curl -H "X-Auth-Token: token" http://128.0.0.1:8888/v1/report/invoice?invoice_id=7b73b9644e8242b3a740afc4659d9829

返回的数据如下:

^{pr2}$

返回上述结果的代码如下:

def get_invoice(self,租户_id=None,invoice_id=None):

model = models.InvoiceDetails

session = db.get_session()
q = session.query(model)

if tenant_id:
        q = q.filter(model.tenant_id == tenant_id)
if invoice_id:
        q = q.filter(model.invoice_id == invoice_id)

print q
r = q.all()

return r

需要找到获取值而不是对象的方法。

感谢任何帮助。

需要将其作为值而不是对象返回。

注意:

当我试图打印查询并在后端执行相同的查询时,它会正确地返回结果


Tags: 模块对象noneapiidgetmodelif
1条回答
网友
1楼 · 发布于 2024-05-16 23:43:01

r = q.all()返回原始SQLAlchemy结果(iterable of instances)。Python和SQLAlchemy没有关于如何将其序列化为HTTP表示的信息。它只需调用Python字符串表示__str__函数,该函数提供默认的Python调试输出。在

您最希望得到的是JSON表示,作为一种常见的web事实上的标准和平台无关的格式,SQLAlchemy数据。It is extensively covered in this question。在

相关问题 更多 >