当前位置:  开发笔记 > 编程语言 > 正文

Python中的MVC模型结构

如何解决《Python中的MVC模型结构》经验,为你挑选了1个好方法。

我在我的Python应用程序中在MVC模式的Model部分中构造类时遇到问题.无论我如何扭转局面,我都会继续进行循环进口.这就是我所拥有的:

型号/ __ init__p.y

应该包含所有Model类名,以便我可以从"模型导入用户"执行,例如从Controller或单元测试用例

型号/ Database.py

持有数据库类

需要导入所有Model类才能执行ORM

初始化应该在第一个模块导入时执行,即没有额外的init调用或实例化(Database类上的所有方法都是@classmethods)

型号/ User.py

包含用户模型类

需要访问Database类来进行查询

应该从所有Model类通用的基类继承来共享功能(数据库持久性方法,参数验证代码等)

我还没有看到一个使用MVC的真实世界Python应用程序,所以我的方法可能是非Pythonic(并且可能是语言无关的混乱......) - 关于如何解决这个问题的任何建议?

谢谢,西蒙



1> davidavr..:

您的规范存在不一致之处.你说Database.py需要导入所有Model类来做ORM,但是你说User类需要访问数据库才能进行查询.

将这些视为API的层.Database类为某些物理持久层(例如DB-API 2.0)提供API(可能是面向对象的).Model类(如User)使用Database层加载和保存其状态.Database.py类没有理由导入所有Model类,事实上你不会想要这样,因为你每次创建一个新的Model类时都必须修改Database.py - 这是一个代码味道.

推荐阅读
mobiledu2402852357
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有