【问题标题】:How to use FastAPI and Psycopg2 without ORM?如何在没有 ORM 的情况下使用 FastAPI 和 Psycopg2?
【发布时间】:2021-01-12 23:59:34
【问题描述】:

我有一个使用 FastAPI 的项目,但我不想使用 SQLAlchemy 或其他 ORM,因为我认为没有必要为我的查询安装额外的依赖项,这些都是简单的 SELECT 操作。我在单独的文件中有我的路由,我想知道如何使用 psycopg2 返回的连接对象,以便我可以使用它在我的不同文件(类似于全局对象)中执行我的 SQL 语句。我已经阅读了有关ContextVars 的信息,但我不知道这是否可行。现在,我有一个解决方案,我在一个单独的文件中创建我的连接对象,然后在我的路由文件中导入该对象,但也许还有另一种方法可以做到。

【问题讨论】:

    标签: python-3.x psycopg2 fastapi


    【解决方案1】:

    这就是这样做的确切方法。

    在应用程序启动时在模块中创建一个连接(或连接池)的实例,并在需要时通过导入它与应用程序的其余部分共享它。

    【讨论】:

    • 谢谢 Isabi,我是 FastAPI 的新手,我看到你在这个框架方面比我更有经验。所以我将遵循这种方法,谢谢。
    • 这是一种典型的方法,也可以与其他框架一起用于此类事情。尽管我的建议是将这种方法用于小事情,而将 ORM 用于更大的事情。此外,如果它是异步连接,请确保共享连接(或池)已经等待
    猜你喜欢
    • 2010-10-23
    • 2023-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-23
    • 1970-01-01
    • 1970-01-01
    • 2021-10-30
    相关资源
    最近更新 更多