我有一个非常直截了当的问题。我打算制作一个烧瓶应用程序,最终可能会产生一些复杂的SQL查询。出于这个原因,我决定不使用ORM,而且我更喜欢编写自己的SQL。
我写了一些简单的SQL用于在postgres函数中读/写数据,然后使用psycopg2进行函数调用。我认为这种方法比编写原始SQL更好,因为它很容易维护。
有没有人知道采取这种方法的任何陷阱,或者psycopg2特有的任何限制?谢谢。
答案 0 :(得分:1)
即使您的应用程序仅限Postgres,ORM也可以为您提供很多帮助。我不得不支持不同操作系统中非常复杂的部署,我知道ORM可以在需求变化时为您节省大量工作和痛苦。绝对有一些(小!)性能命中,但是当它非常重要时(大量插入/更新,纯SQL等),你可以避免大部分慢速路径。
我以SQLAlchemy为例,但大多数ORM都具有相同的功能。
psycopg2
或其他Postgres驱动程序。我记得没有ORM有自己的驱动程序。曾几何时,我有psycopg2
的unicode问题(可能是我做错了),只是改变了SQLAlchemy使用另一个驱动程序并且工作正常。其他时候,我想使用PyPy运行我的应用程序并且不支持psycopg2
。