gpt4 book ai didi

python - 从表中选择数据在 SQLAlchemy 中抛出错误

转载 作者:行者123 更新时间:2023-12-01 04:51:28 26 4
gpt4 key购买 nike

我是一名初学者,尝试使用 Pyramid 和 SQLAlchemy 执行一个简单的 Web 应用程序。截至目前,我的应用程序仅返回表中存储的所有数据。

我的观点.py:

@view_config(route_name='home', renderer='templates/trial.pt')
def my_view(request):
try:
#str=Mystring(name="second",data="Hellostring")
#DBSession.add(str)
myvar=Mystring.query.order_by(Mystrings.data)

except DBAPIError:
return Response(conn_err_msg, content_type='text/plain', status_int=500)
#return {'project': 'Alpy'}
return {'myvar':myvar}

我的模板:-

<body>
<div id="middle">
<div class="middle align-right">
<div id="left" class="app-welcome align-left">
You can return to the
<a href="${request.application_url}">FrontPage</a>.<br/>
<div tal:condition="myvar">
Your selection returns:<br><tal:block tal:content="myvar"></tal:block>
</div>
</div>
</div>
</body>

我的模型.py:-

class Mystring(Base):
__tablename__ = 'mystrings'
id = Column(Integer, primary_key=True)
name = Column(Text)
data = Column(Text)

我的错误是:AttributeError:类型对象“Mystring”没有属性“query”

我试过这个。 “myvar=DBSession.query(Mystring).all()”错误消失了,但我得到了

Your selection returns:
[alpy.models.Mystring object at xxxx, alpy.models.Mystring object at xxxxx]

这不是我想要得到的。我想要一个名称值对。

请帮忙。

最佳答案

您正在从 sqlalchemy 获取对象列表。如果您只需要数据,并且想要返回(名称,数据)对的列表,您可以使用如下列表理解来完成:
返回 [(x.name, x.data) for x in myvar]

注意:x 只是列表理解的局部变量,因此它可以是您喜欢的任何名称。

官方网站上有一些关于 sqlalchemy 基础知识的很棒的文档,此处:http://docs.sqlalchemy.org/en/rel_0_9/orm/tutorial.html

关于python - 从表中选择数据在 SQLAlchemy 中抛出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28363051/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com