我有一个名为文档的抽象模型。 “发票”和“报价”等文档类型继承自此类。
这是我的第一个Django项目,我对最佳文件夹结构有点不清楚。我打算让每种类型的文档都有自己的应用程序。所以,会有一个“发票”的应用程序和一个“引号”的应用程序,每个都有自己的文件夹。这是一种合理的方法吗?
我的第二个问题是文件模型应该放在哪里?文件应该是一个应用程序吗? “发票”和“报价”应该放在“文件”中吗?
答案 0 :(得分:2)
嗯,这个选择有一定的主观性。它取决于所有这些不同的文档是否几乎相同(只是相对较小的变化但仍然或多或少相似),或者它们是否具有大量非常特定的功能。
我猜你的可能是第一个,他们可能会有不同的功能,但他们确实分享了很多。然后你可以继续创建它们作为单个应用程序
你会有
documents/__init__.py documents/models.py documents/views.py
如果,假设你有很多模型和不同类型的模型,可以说3种不同类型的文本文件,4种不同类型的音频,你可以使用这样的文件夹结构:
documents/__init__.py documents/models/__init__.py documents/models/base.py documents/models/text.py documents/models/audio.py ... documents/views.py
因此,在这种情况下,您将在base.py中使用基本抽象模型,然后在其他文件中,您可以从基础抽象模型继承正确分类的多个模型。
然后使用这些类:
from documents.models.audio import FancyAudio from documents.models.text import BigText, SmallText ....