将所有子应用的modes.py放在一个大的子应用里
原先我的框架设计是:
-centerAdmin
--Login
--model
--view
--urls
--Rate
--model
--view
--urls
--.......
-mildAdmin
--model
--view
--urls
但是随着我后期的增加大子应用后,则发现如果每次都要在models.py文件写相关的表结构,
则一会导致数据可能丢失的风险,二会带来严重的代码冗余,三是不便管理
所以,我打算新创建一个子应用为Model大子应用,
python manage.py startapp models
按照业务模块组织模型,
在models应用中,写入不同业务的表
models/
├── __init__.py
├── users.py # 用户相关模型
├── articles.py # 文章相关模型
├── categories.py # 分类相关模型
└── ...
然后在model子引用中的__init__.py统一导入
from .user import User from .member import Member ......
在具体的业务视图中则可以引入Model模型
例如:
from models import User #引入集中的User模型
在项目根目录中setting一定配置好这个models应用
INSTALLED_APPS = [ ... 'models', ... ]
写好model集合中的某业务模型,可以统一迁移
python mange.py makemigration models
python mange.py migrate
但上述的迁移也会可能出现造成其它表的重新生成
所以,尽量用对应的模型名生成
如User模块修改了细节,则可以用
python mange.py makemigration models --name user_migration --empty
- models:表明操作的是 models 这个应用。
- --name user_migration:为迁移文件指定一个名字,这里用 user_migration 举例。
- --empty:生成一个空的迁移文件,之后你可以手动在里面添加针对 User 模型的迁移逻辑。