【发布时间】:2014-06-11 09:07:53
【问题描述】:
我正在开发一个 PyQt 程序,它将很快从 xml 类型的后端切换到托管在本地 MySQL 服务器上的后端。我一直在尝试阅读这三个选项中的每一个,但认为最好问问你们这些神。
我目前在使用 MySQLdb 执行 MySQL 方面的经验,并且一直在使用这主要是由于对其他两种方法的存在一无所知。简而言之,问题是每种方法的优缺点是什么,您会选择哪一种?干杯!
【问题讨论】:
我正在开发一个 PyQt 程序,它将很快从 xml 类型的后端切换到托管在本地 MySQL 服务器上的后端。我一直在尝试阅读这三个选项中的每一个,但认为最好问问你们这些神。
我目前在使用 MySQLdb 执行 MySQL 方面的经验,并且一直在使用这主要是由于对其他两种方法的存在一无所知。简而言之,问题是每种方法的优缺点是什么,您会选择哪一种?干杯!
【问题讨论】:
我不是神,但我确实有一些意见。我在 Python 中使用 SQL 的主要经验是使用 Django。
解决方案取决于您愿意承诺什么。如果您想坚持使用 Qt 库而只使用 PyQt 库,那么请使用 QtSql。如果您只想快速构建应用程序但引入更多依赖项,那么我会选择 SQLAlchemy。您可能会遇到asker of this question 之类的问题,然后您需要拉入更多库或拉出您的头发。
所以,在一个不错的列表样式中:
VERDICT:不要将它用于您将投入生产的任何东西
VERDICT:如果您想编写更少的 UI 代码和更多的数据库代码,请选择此选项
VERDICT:如果您想编写更少的数据库代码并且可以解决一些 API 问题,请选择此选项。
另外,不用担心任何选择的性能——它们都应该大致相同,并且大部分时间都花在 I/O 上。
【讨论】:
我知道有点晚了,但我建议你看看 Camelot (http://www.python-camelot.com/)。它将 PyQt 和 SQLAlchemy 集成在一起,因此您可以编写更少的 UI 代码和数据库代码。
【讨论】: