从v2.4.7升级到Peewee 2.6.3后,在迭代select查询的结果时会弹出以下错误。在
编辑:这似乎是与create_或_get方法的使用相关的bug。在
File "./script.py", line 137, in load_data
for name,country in rows:
File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/peewee.py", line 1957, in next
obj = self.iterate()
File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/peewee.py", line 1934, in iterate
row = self.cursor.fetchone()
sqlite3.InterfaceError: Cursor needed to be reset because of commit/rollback and can no longer be fetched from.
以下是违规代码:
^{pr2}$你能帮我找出问题是什么,以及如何解决它吗?在
注意:使用Sqlite3 3.8.9
好吧,外部
SELECT
语句的光标仍处于打开状态,因此通过使用外部SELECT
可以让代码正常工作:create_or_get
将使用一个事务(如果已经在事务中,则使用保存点)。提交或回滚后,SELECT
的光标将不再使用。在相关问题 更多 >
编程相关推荐