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