Django migrations 默认目录修改的方法教程


Posted in Python onSeptember 28, 2018

如何使用

migrations的使用非常简单: 修改model, 比如增加field, 然后运行

python manager.py makemigrations

你的mmodel会被扫描, 然后与之前的版本作比较, 在app的migrations目录下生成本次迁移文件.

我们建议查看一下该迁移文件, 确保没有问题. 然后运行:

python manager.py migrate

migrate命令会进行比较, 并应用该迁移.

migrations 默认目录修改

群里看到个问题:

migrations目录默认放在./app/models/migrations下面,能指定到别的目录吗?比如/data/app/models/migrations下么?

闲来无事,就稍稍研究了一下。

先从Migration 方向入手,翻遍手册,没有发现可以指定 path 的地方。

再从 settings 着手,查找有没有相关可设置的方向,稍稍有所收获:

MIGRATION_MODULES 选项,可以指定各个label的migration的包路径及名字。但还是相对路径,除非指定一个当前程序路径外的包路径?这点我没有去验证。

最后再从源码入手,其实就在

Lib\site-packages\django\core\management\commands\makemigrations.py 中使用了 MigrationWriter 类而MigrationWriter类中的 path 方法决定了路径,path方法 调用了 basedir 和 filename 方法,一个控制文件名,一个管理路径。在不想改变文件名的情况下,只需要修改basedir 方法中的 返回值就可以实现这个需求。

Tips: 改完系统包,需要部署到其它环境的时候不要忘了将修改带过去!

basedir 中调用了 MigrationLoader 的 migrations_module 方法,该方法返回 app_label 名称 及 一个布尔值

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python在linux系统下获取系统内存使用情况的方法
May 11 Python
python基础入门学习笔记(Python环境搭建)
Jan 13 Python
Python使用PIL模块生成随机验证码
Nov 21 Python
python 3.6 tkinter+urllib+json实现火车车次信息查询功能
Dec 20 Python
python如何让类支持比较运算
Mar 20 Python
详解Django解决ajax跨域访问问题
Aug 24 Python
python如何制作缩略图
Apr 30 Python
使用python+whoosh实现全文检索
Dec 09 Python
对tensorflow中tf.nn.conv1d和layers.conv1d的区别详解
Feb 11 Python
python subprocess pipe 实时输出日志的操作
Dec 05 Python
python实现文件+参数发送request的实例代码
Jan 05 Python
Python实战实现爬取天气数据并完成可视化分析详解
Jun 16 Python
python数据结构之线性表的顺序存储结构
Sep 28 #Python
python实现顺序表的简单代码
Sep 28 #Python
linux安装Python3.4.2的操作方法
Sep 28 #Python
python求质数的3种方法
Sep 28 #Python
python数据结构学习之实现线性表的顺序
Sep 28 #Python
python实现单链表中删除倒数第K个节点的方法
Sep 28 #Python
使用Python处理BAM的方法
Sep 28 #Python
You might like
php抓取页面与代码解析 推荐
2010/07/23 PHP
PHP文章按日期(月日)SQL归档语句
2012/11/29 PHP
基于PHP输出缓存(output_buffering)的深入理解
2013/06/13 PHP
yii权限控制的方法(三种方法)
2015/12/28 PHP
PHP实现适用于文件内容操作的分页类
2016/06/15 PHP
Laravel框架中Blade模板的用法示例
2017/08/30 PHP
PHP whois查询类定义与用法示例
2019/04/03 PHP
JavaScript高级程序设计 读书笔记之八 Function类及闭包
2012/02/27 Javascript
将两个div左右并列显示并实现点击标题切换内容
2013/10/22 Javascript
javascript+canvas制作九宫格小程序
2014/12/28 Javascript
js完美实现@提到好友特效(兼容各大浏览器)
2015/03/16 Javascript
JavaScript数组迭代器实例分析
2015/06/09 Javascript
详解Javascript模板引擎mustache.js
2016/01/20 Javascript
学习JavaScript图片预加载模块
2016/11/07 Javascript
Chart.js 轻量级HTML5图表绘制工具库(知识整理)
2018/05/22 Javascript
vuejs 动态添加input框的实例讲解
2018/08/24 Javascript
详解webpack打包nodejs项目(前端代码)
2018/09/19 NodeJs
微信小程序学习笔记之表单提交与PHP后台数据交互处理图文详解
2019/03/28 Javascript
JavaScript定时器设置、使用与倒计时案例详解
2019/07/08 Javascript
JS开发自己的类库实例分析
2019/08/28 Javascript
javascript头像上传代码实例
2019/09/28 Javascript
Vue2.x和Vue3.x的双向绑定原理详解
2020/11/05 Javascript
闭包在python中的应用之translate和maketrans用法详解
2014/08/27 Python
pandas通过字典生成dataframe的方法步骤
2019/07/23 Python
python3 selenium自动化 下拉框定位的例子
2019/08/23 Python
Whittard官方海外旗舰店:英国百年茶叶品牌
2018/02/22 全球购物
美国现代家具网站:Design Within Reach
2018/07/19 全球购物
什么叫做SQL注入,如何防止
2016/10/04 面试题
abstract 可以和 virtual 一起使用吗?可以和 override 一起使用吗?
2012/10/15 面试题
医学生职业生涯规划书范文
2014/03/13 职场文书
养牛场项目建议书
2014/05/13 职场文书
给校长的建议书200字
2014/05/16 职场文书
班子查摆四风个人对照检查材料思想汇报
2014/10/04 职场文书
教师个人总结范文
2015/02/11 职场文书
个人先进事迹总结
2015/02/26 职场文书
关于使用Redisson订阅数问题
2022/01/18 Redis