python sqlalchemy打印出表格的所有行
如何打印表格中的所有行python sqlalchemy打印出表格的所有行,python,sqlalchemy,Python,Sqlalchemy,如何打印表格中的所有行 import sqlalchemy from sqlalchemy import create_engine from sqlalchemy.ext.declarative import declarative_base from sqlalchemy import Column, Integer, String, FLOAT from sqlalchemy.orm import scoped_session, sessionmaker engine = create_
import sqlalchemy
from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Column, Integer, String, FLOAT
from sqlalchemy.orm import scoped_session, sessionmaker
engine = create_engine('sqlite:///test2.db', echo=True)
Session = sessionmaker(bind=engine)
Base = declarative_base()
class Nutritional_Values(Base):
__tablename__ = 'nutritional_values'
id = Column(Integer, primary_key=True)
item = Column(String)
var1 = Column(FLOAT)
var2 = Column(FLOAT)
var3 = Column(FLOAT)
def __repr__(self):
return "<Nutrional Value(item='%s', var1='%s', var2='%s' var3='%s')>" % (
self.item, self.var1, self.var2, self.var3)
Base.metadata.create_all(engine)
s = Session()
objects = [
Nutritional_Values(item="item1", var1=3, var2=4, var3=2),
Nutritional_Values(item="item2", var1=4, var2=2, var3=8)
]
s.bulk_save_objects(objects)
s.commit()
导入sqlalchemy
从sqlalchemy导入创建引擎
从sqlalchemy.ext.declarative导入声明性基础
从sqlalchemy导入列、整数、字符串、浮点
从sqlalchemy.orm导入作用域的_会话,sessionmaker
引擎=创建引擎('sqlite:///test2.db,echo=True)
会话=会话生成器(绑定=引擎)
Base=声明性_Base()
类别营养价值(基数):
__tablename_uuu=‘营养价值’
id=列(整数,主键=True)
项=列(字符串)
var1=列(浮动)
var2=列(浮动)
var3=列(浮动)
定义报告(自我):
返回“”%(
self.item、self.var1、self.var2、self.var3)
Base.metadata.create_all(引擎)
s=会话()
对象=[
营养价值(item=“item1”,var1=3,var2=4,var3=2),
营养价值(item=“item2”,var1=4,var2=2,var3=8)
]
s、 批量保存对象(对象)
s、 提交()
我试过代码,但收到一条错误消息
for nutritional_value in s.query([Nutritional_Values]).all():
print(nutritional_value)
Traceback (most recent call last):
File "sqlite_sqlalchemy.py", line 33, in <module>
for nutritional_value in s.query([Nutritional_Values]).all():
File "/Users/benjamattesjaroen/anaconda3/lib/python3.7/site-packages/sqlalchemy/orm/session.py", line 1544, in query
return self._query_cls(entities, self, **kwargs)
File "/Users/benjamattesjaroen/anaconda3/lib/python3.7/site-packages/sqlalchemy/orm/query.py", line 168, in __init__
self._set_entities(entities)
File "/Users/benjamattesjaroen/anaconda3/lib/python3.7/site-packages/sqlalchemy/orm/query.py", line 198, in _set_entities
entity_wrapper(self, ent)
File "/Users/benjamattesjaroen/anaconda3/lib/python3.7/site-packages/sqlalchemy/orm/query.py", line 4474, in __init__
"expected - got '%r'" % (column,)
sqlalchemy.exc.InvalidRequestError: SQL expression, column, or mapped entity expected - got '[<class '__main__.Nutritional_Values'>]'
用于s.query中的营养价值([nutrital\u Values])。all():
印刷品(营养价值)
回溯(最近一次呼叫最后一次):
文件“sqlite_sqlalchemy.py”,第33行,在
对于s.query中的营养价值([营养价值])。全部()
文件“/Users/benjamattesjaroen/anaconda3/lib/python3.7/site packages/sqlalchemy/orm/session.py”,第1544行,在查询中
返回self.\u查询\u cls(实体、self、**kwargs)
文件“/Users/benjamattesjaroen/anaconda3/lib/python3.7/site packages/sqlalchemy/orm/query.py”,第168行,在__
自组实体(实体)
文件“/Users/benjamattesjaroen/anaconda3/lib/python3.7/site packages/sqlalchemy/orm/query.py”,第198行,在集合实体中
实体_包装器(self,ent)
文件“/Users/benjamattesjaroen/anaconda3/lib/python3.7/site packages/sqlalchemy/orm/query.py”,第4474行,在__
应为-已获取“%r”(列)
sqlalchemy.exc.InvalidRequestError:应为SQL表达式、列或映射实体-获取“[]”
摆脱[]
中关于s.query中营养价值的([nutrital\u Values])。all():
query
方法希望传递会话,而不是要求传递会话。看起来这是一种方便的方法
例如:
q=Query([User,Address],session=some\u session)
上述内容相当于:
q=some\u session.query(用户、地址)
去掉
[]
中的以获取s.query中的营养价值([nutrital\u Values])。all():
query
方法希望传递会话,而不是要求传递会话。看起来这是一种方便的方法
例如:
q=Query([User,Address],session=some\u session)
上述内容相当于:
q=some\u session.query(用户、地址)
错误消息是什么?它不喜欢模型列表。错误消息是什么?它不喜欢模型列表。