Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python AttributeError:类型对象“Cliente”没有属性“query”_Python_Flask_Sqlalchemy - Fatal编程技术网

Python AttributeError:类型对象“Cliente”没有属性“query”

Python AttributeError:类型对象“Cliente”没有属性“query”,python,flask,sqlalchemy,Python,Flask,Sqlalchemy,这是我第一个使用Python的项目 显示值时遇到问题​​在我的桌子上 AttributeError:类型对象“客户端”没有属性“查询” Python 2.7,我应该更改什么? 我学习了一些教程,在使用Flask_SQLAlchemy import SQLAlchemy中的Flask SQLAlchemy时,它是有效的 在代码中,您需要使用会话,因为您使用的是SQLAlchemy。所以像这样导入会话生成器 from sqlalchemy.orm import sessionmaker 然后在引擎

这是我第一个使用Python的项目

显示值时遇到问题​​在我的桌子上

AttributeError:类型对象“客户端”没有属性“查询”

Python 2.7,我应该更改什么?
我学习了一些教程,在使用Flask_SQLAlchemy import SQLAlchemy中的Flask SQLAlchemy时,它是有效的

在代码中,您需要使用会话,因为您使用的是SQLAlchemy。所以像这样导入会话生成器

from sqlalchemy.orm import sessionmaker
然后在引擎下方=创建引擎'sqlite:///banco.db,echo=True

然后使用会话执行查询

cliente = session.query(Cliente).all()

您可以看到使用Flask SQLAlchemy与Flask更集成的优点和缺点,并且可以看到您希望使用它

当使用Flask_SQLAlchemy import SQLAlchemy中的Flask SQLAlchemy时,您会这样询问

在代码中,您需要使用会话,因为您使用的是SQLAlchemy。所以像这样导入会话生成器

from sqlalchemy.orm import sessionmaker
然后在引擎下方=创建引擎'sqlite:///banco.db,echo=True

然后使用会话执行查询

cliente = session.query(Cliente).all()

您可以看到使用Flask Sql炼金术与Flask更为集成的优点和缺点,并看到您希望使用它

感谢摩西,它起到了作用。但当我刷新页面时,return:ProgrammingError:sqlite3.ProgrammingError在线程中创建的SQLite对象只能在同一线程中使用。对象是在线程id 15436中创建的,这是线程id 14240。[SQL:u'SELECT cliente.\u idCliente AS cliente\uu idCliente,cliente.nmCliente AS cliente\u nmCliente\n from cliente'.[parameters:[{}]]关于此错误的背景:SQLite默认情况下禁止在多个线程中使用单个连接。只需将connect_args={'check_same_thread':False}参数添加到引擎变量,如engine=create_engine'sqlite:///banco.db“,connect_args={'check_same_thread':False},echo=true正是因为这个原因,您应该只使用Flask SQLAlchemy和Flask,因为它将线程本地会话与请求的生命周期联系在一起,所以您不需要使用SQLite线程支持来轻松处理。当然,您可以自己解决问题:有没有一种方法可以像Alchemy提供的那样使用Model.query样式?谢谢Moses,它成功了。但当我刷新页面时,return:ProgrammingError:sqlite3.ProgrammingError在线程中创建的SQLite对象只能在同一线程中使用。对象是在线程id 15436中创建的,这是线程id 14240。[SQL:u'SELECT cliente.\u idCliente AS cliente\uu idCliente,cliente.nmCliente AS cliente\u nmCliente\n from cliente'.[parameters:[{}]]关于此错误的背景:SQLite默认情况下禁止在多个线程中使用单个连接。只需将connect_args={'check_same_thread':False}参数添加到引擎变量,如engine=create_engine'sqlite:///banco.db“,connect_args={'check_same_thread':False},echo=true正是因为这个原因,您应该只使用Flask SQLAlchemy和Flask,因为它将线程本地会话与请求的生命周期联系在一起,所以您不需要使用SQLite线程支持来轻松处理。当然,您可以自己解决问题:有没有一种方法可以像Alchemy提供的那样使用Model.query样式?