我在 Python 应用程序的 MVC 模式的模型部分中构建类时遇到问题。无论我如何处理事情,我都会遇到循环导入。这是我所拥有的:
模型/__init__p.y
- 应该包含所有模型类名称,以便我可以执行“从模型导入用户”,例如从控制器或单元测试用例
模型/数据库.py
- 持有数据库类
- 需要导入所有 Model 类来做 ORM
- 初始化应该在第一个模块导入时执行,即没有额外的初始化调用或实例化(数据库类上的所有方法都是@classmethods)
模型/用户.py
- 包含用户模型类
- 需要访问数据库类进行查询
- 应该从所有模型类共有的基类继承以共享功能(数据库持久性方法、参数验证代码等)
我还没有看到使用 MVC 的真实世界 Python 应用程序,所以我的方法可能是非 Pythonic(并且可能是与语言无关的混乱......) - 关于如何解决这个问题的任何建议?
谢谢,西蒙