如何在Python中根据数据库表生成基本CRUD功能

2 投票
3 回答
7138 浏览
提问于 2025-04-15 14:13

我想用Python开发一个桌面应用程序,里面有基本的增删改查功能。请问Python有没有什么库可以根据数据库表自动生成增删改查的代码和用户界面呢?

3 个回答

0

如果你想要一个非常小巧简单的工具,我推荐使用Autumn这个ORM。

如果你使用Django的ORM,你可以利用自动生成的Django管理界面,这个界面非常好用。它基本上是一个基于网页的图形界面,可以用来浏览和编辑你数据库里的记录。

如果你觉得需要一些高级的SQL功能,SQLAlchemy是个不错的选择。不过我觉得对于桌面应用来说,Django或者Autumn会更合适。

还有其他的Python ORM,比如Storm。你可以在谷歌上搜索“python ORM”来了解更多。也可以看看这个网站上的讨论:有哪些好的Python ORM解决方案?

0

如果是我,我会考虑借用django的ORM,不过我对它已经很熟悉了。

说到这个,我喜欢用它,因为它不仅可以在框架外使用,还能支持mysql、postgres和sqlite。你还可以把django的管理网站连接到你的模型上,这样就能有一个基于网页的编辑器。

当然,还有其他的ORM和代码生成器(我希望一些python高手能推荐几个,我有点好奇)。

3

希望这不是你最终选择的最佳方案,但如果你想用网页界面来做桌面应用,可以试试django。我特别建议你看看inspectdb这个命令,它可以帮你生成ORM代码。

这个方法的好处是,你需要写的代码不多,就能开始使用。如果你只是想在桌面上用它,其实不需要搭建一个完整的网页服务器;你可以用它自带的测试服务器。它自带的管理界面也很容易上手,而且在一定程度上很灵活;不过一旦超出这个范围,很多人就会花很多时间去解决问题(这可能说明它在一开始是多么有帮助)。

当然也有很多缺点,最明显的就是如果你想进行大量自定义,就可能需要用到html、javascript和css。

撰写回答