Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/317.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 将PyQt与SQLORM库集成(sqlalchemy、peewee等)_Python_Sqlalchemy_Pyqt5_Peewee - Fatal编程技术网

Python 将PyQt与SQLORM库集成(sqlalchemy、peewee等)

Python 将PyQt与SQLORM库集成(sqlalchemy、peewee等),python,sqlalchemy,pyqt5,peewee,Python,Sqlalchemy,Pyqt5,Peewee,PyQt有一些很好的特性,比如QSqlTableModel和QSqlRelationalTableModel,但是,它不包含ORM功能,我讨厌在我的程序中使用原始SQL语句。将Sqlalchemy之类的SQLORM库集成到PyQtSQL工具的最佳方法是什么?目前我能想到的唯一解决方案是在SqlAlchemy中构建我的对象模型,并使用QSqlDatabase手动执行编译后的SQL语句。有没有更好的办法?比如说,有没有办法为使用QSqlDatabase的SqlAlchemy构建自定义后端/适配器?像

PyQt有一些很好的特性,比如QSqlTableModel和QSqlRelationalTableModel,但是,它不包含ORM功能,我讨厌在我的程序中使用原始SQL语句。将Sqlalchemy之类的SQLORM库集成到PyQtSQL工具的最佳方法是什么?目前我能想到的唯一解决方案是在SqlAlchemy中构建我的对象模型,并使用QSqlDatabase手动执行编译后的SQL语句。有没有更好的办法?比如说,有没有办法为使用QSqlDatabase的SqlAlchemy构建自定义后端/适配器?像Peewee这样的其他ORM库也不错。

使用“mock”策略创建一个伪引擎,该策略将所有已编译的sql语句重定向到QSqlDatabase以执行

似乎有一个陷阱:需要与真实数据库交互的功能将不起作用,比如在创建表之前检查表是否存在。 此外,这似乎对会话API不起作用,对
commit()
flush()
的任何调用都会导致
NotImplementedError