5 django project-organization django-models
我有几个模型:“文章、视频、博客帖子、新闻、商品”。每个都在他们自己的应用程序中。
它们基本上都是相同的模型,每个模型都有一些额外的字段。但每个共享大约 15 个字段。我正在使用抽象基类。我正在努力弄清楚我应该如何为此进行组织。我目前的设置是这样的:
apps/
abstract_models.py
abstract_templatetags.py
abstract_forms.py
articles/
models.py
...
videos/
models.py
...
blogs/
...
Run Code Online (Sandbox Code Playgroud)
虽然我知道这不是一个好方法,但我不确定将共享的所有信息放在哪里。我一直这样做,然后每个应用程序只是子类化 Form 或 Model 并进行本地修改。由于它们只是相对于整个画面的少量更改,我认为抽象类是要走的路,但我可能错了。
它们共享如此多的结构,但出于显而易见的原因,我希望将它们保留为单独的应用程序。但我想把它清理一下。
任何想法将不胜感激。
我设置了一个可以在不同项目中使用的应用程序,并将其称为tools. 在tools我有我的基本模型,我倾向于在项目中重用这些模型并在需要的地方导入它。
例如,我CreatedModifiedModel在tools/models.py其中添加了创建和修改时间的字段,以及进行创建和修改的用户。
定义一次后,我可以简单地做:
from tools.models import CreatedModifiedModel
class Widget(CreatedModifiedModel):
# comes with my four fields automatically
Run Code Online (Sandbox Code Playgroud)
您可以创建称为单一的应用程序base或core或tools然后把你所有的抽象类在那里,以帮助保持干净,并使其在未来重复使用。
| 归档时间: |
|
| 查看次数: |
1928 次 |
| 最近记录: |