django项目models模块统一管理

将所有子应用的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 模型的迁移逻辑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值