gpt4 book ai didi

django - 如何使用抽象模型组织 Django 项目

转载 作者:行者123 更新时间:2023-12-03 10:56:09 25 4
gpt4 key购买 nike

我有几个模型:“文章、视频、博客帖子、新闻、商品”。每个都在他们自己的应用程序中。

它们基本上都是相同的模型,每个模型都有一些额外的字段。但每个共享大约 15 个字段。我正在使用 abstract base class .我正在努力弄清楚我应该如何为此进行组织。我目前的设置是这样的:

apps/
abstract_models.py
abstract_templatetags.py
abstract_forms.py
articles/
models.py
...
videos/
models.py
...
blogs/
...

虽然我知道这不是一个好方法,但我不确定将共享的所有信息放在哪里。我一直这样做,然后每个应用程序只是子类化 Form 或 Model 并进行本地修改。由于它们只是相对于整个画面的少量更改,我认为抽象类是要走的路,但我可能是错的。

它们共享如此多的结构,但出于显而易见的原因,我希望将它们保留为单独的应用程序。但我想把它清理一下。

任何想法将不胜感激。

最佳答案

我设置了一个可以在不同项目中使用的应用程序,并将其命名为 tools .在 tools我有我的基本模型,我倾向于在项目中重用这些模型并在需要的地方导入它。

例如,我有一个 CreatedModifiedModeltools/models.py它添加了创建和修改时间的字段,以及创建和修改的用户。

定义一次后,我可以简单地做:

from tools.models import CreatedModifiedModel    

class Widget(CreatedModifiedModel):
# comes with my four fields automatically

您可以创建一个名为 base 的应用程序或 coretools然后将所有抽象类放在那里,以帮助保持清洁并使其在将来可重用。

关于django - 如何使用抽象模型组织 Django 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1558406/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com