Peewee重用模型类

问题描述

我在a.py中定义了一个peewee模型类,

db = ... Foo类(模型): 类Meta数据库= db

我正在文件Foo中使用b.py。大概,当我运行使用b.py的{​​{1}}时,a.py的所有顶级(非类)代码都会运行。

问题:谁关闭数据库,在哪里关闭?另外,如何将实体类数据库引用分离?看来真的这样的设计很糟糕。

解决方法

从您的问题中不清楚您正在寻求帮助。 peewee模型是普通的python对象,并遵循预期的规则来导入它们或在模块之间共享它们。因此,在这方面,Peewee模型没有什么特别之处。

谁关闭数据库以及在哪里关闭?

大概您的代码有一个入口点和一个停止使用数据库的点。退出之前,命令行/ GUI脚本可以关闭数据库。一个Web应用程序将在请求开始时打开db conn,并在响应生成后关闭它(可以使用连接池)。

如何将实体类与数据库引用脱钩