【问题标题】:Why does django enforce all model classes to be in models.py?为什么 django 强制所有模型类都在 models.py 中?
【发布时间】:2010-11-23 06:25:12
【问题描述】:

我刚刚了解到将模型类拆分为不同的文件会破坏 django 的许多内置功能。

我来自 java 背景。在那里,编写很长的类文件并不被认为是一种好习惯。但是 django 对所有模型类执行单个文件可能会导致程序员编写很长的 models.py 文件。这会让程序员很难看到整个领域模型的组织结构。

那么为什么 django 强制单个文件包含所有域类?

我通过谷歌搜索找到了这个问题的a solution proposal。但我不能确定这是否会正常工作。你推荐这个解决方案吗?

【问题讨论】:

标签: django django-models code-organization


【解决方案1】:

单一命名空间:是的。单模块:无。

您的模型必须可从命名空间 appname.models 导入。

【讨论】:

  • 我认为这个答案可能是这个问题的正确答案,但它肯定可以与更清晰有关。我认为它基本上归结为appname.models 需要从其他模块导入所有模型。解释为什么或在哪里记录了这种行为会很有帮助。
  • 同样,为什么让appname.models 只导入定义其他模型的模块是不够的?这肯定会触发必要的元类魔法吗?如果不是,为什么?
猜你喜欢
  • 2013-02-06
  • 2013-11-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-31
  • 2016-05-31
  • 1970-01-01
  • 2021-04-07
相关资源
最近更新 更多