1
6
您的规格不一致。您说database.py需要导入所有模型类来执行ORM,但是您说用户类需要访问数据库来执行查询。 把这些看作是API的层。数据库类为一些物理持久层(如db-api 2.0)提供了一个API(可能是面向对象的)。模型类和用户一样,使用数据库层来加载和保存它们的状态。没有理由让database.py类导入所有模型类,事实上,您不希望这样做,因为每次创建新的模型类时都必须修改database.py,这是一种代码味道。 |
2
3
一般来说,我们把它们放在一个文件中。这不是Java或C++。 从一个文件开始,直到您对python有更多的经验。除非你的文件太多,否则它会很好用的。 例如,Django鼓励这种风格,所以复制他们的成功公式。模型的一个模块。每个应用程序的一个模块;每个应用程序导入一个公共模型。
你的数据库和超类的东西可以在你的
|
3
1
我认为你有一个问题需要澄清。循环引用通常是由于未能实现关注点分离而导致的。在我看来,数据库和模型模块不应该彼此了解太多,而应该使用API。在这种情况下,数据库不应该直接引用任何特定的模型类,而是提供模型类需要运行的功能。反过来,模型应该得到一个数据库引用(注入或请求),它将使用该引用来查询和保持自身。 |
KollegeBo · 触发更新的POST或GET 2 年前 |
mariolototo · 无法获取“/”express以外的路线 2 年前 |
nnmmss · 根据查询字符串值激活li 2 年前 |
Ezaldeen Ezaldeen · pdo包装器最后一个id返回0 2 年前 |
Bruno Vavretchek · JSON模型建议 6 年前 |
Pasha · 如何在@RequestBody中传递2个对象? 6 年前 |