在Django中创建模型

时间:2017-05-23 19:37:50

标签: python django-models

我是一个学习django休息框架的初学者。我想知道在我的应用程序的一个模型文件(model.py)中创建所有类是否是个好主意。这是个好主意吗?

2 个答案:

答案 0 :(得分:1)

我通常开始在一个models.py文件中包含所有模型。随着项目变得越来越大,应用程序越来越复杂,我有时会最终将其分解为多个文件(通常在模型目录中)。

这方面的一个例子是我们用户的应用程序。我们的网站拥有多组具有不同权限的用户。管理员用户,导游,供应商等......这些中的每一个都被分解为自己的文件以保持逻辑包含。

users/
    models/
        __init__.py
        base.py // Stores the abstract User model used across all Users
        leaders.py // Stores specific models four Tour Leaders
        suppliers.py // Stores specific models for Suppliers
        money.py // Stores models related to how we pay Tour Leaders (lots of logic here)
    views.py
    forms.py
    urls.py

这允许我们将所有业务逻辑包含到特定文件中,使开发人员更容易找到他们想要的内容。

在我们的__init__.py文件中,我们导入了所有模型。

from users.models.base import *
from users.models.leaders import *
from users.models.suppliers import *
from users.models.money import *

答案 1 :(得分:1)

你可以,但是如果你有很多模特,最好在你的应用程序中创建一个名为models/的文件夹,并将你的模型放在那里。您还需要创建一个__init__.py文件来导入模型以使迁移工作(Django只希望导入app.models__init__.py文件处理它。)

所以你的文件夹看起来像:

models/
  __init__.py
  modelA.py
  modelB.py
  modelC.py

您的__init__.py将如下所示:

from .modelA import <modelName>
from .modelB import <modelName>
from .modelC import <modelName> 
相关问题