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处理csv数据的方法
Mar 11 Python
python实现下载整个ftp目录的方法
Jan 17 Python
对Python 窗体(tkinter)文本编辑器(Text)详解
Oct 11 Python
Python3+Appium安装使用教程
Jul 05 Python
Python求两点之间的直线距离(2种实现方法)
Jul 07 Python
python查看文件大小和文件夹内容的方法
Jul 08 Python
一篇文章弄懂Python中的可迭代对象、迭代器和生成器
Aug 12 Python
Python常用数据类型之间的转换总结
Sep 06 Python
pytorch 实现删除tensor中的指定行列
Jan 13 Python
基于tensorflow指定GPU运行及GPU资源分配的几种方式小结
Feb 03 Python
Python转换itertools.chain对象为数组的方法
Feb 07 Python
Python 实现一个计时器
Jul 28 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
现磨咖啡骗局!现磨咖啡=新鲜咖啡?现磨咖啡背后的猫腻你不懂!
2019/03/28 冲泡冲煮
DEDE采集大师官方留后门的删除办法
2011/01/08 PHP
php结合表单实现一些简单功能的例子
2011/06/04 PHP
PHP 类相关函数的使用详解
2013/05/10 PHP
深入掌握include_once与require_once的区别
2013/06/17 PHP
实现PHP+Mysql无限分类的方法汇总
2015/03/02 PHP
php简单判断两个字符串是否相等的方法
2015/07/13 PHP
yii2.0实现创建简单widgets示例
2016/07/18 PHP
在html页面上拖放移动标签
2010/01/08 Javascript
顶部缓冲下拉菜单导航特效的JS代码
2013/08/27 Javascript
jquery的map与get方法详解
2013/11/04 Javascript
Jquery操作js数组及对象示例代码
2014/05/11 Javascript
用console.table()调试javascript
2014/09/04 Javascript
JavaScript知识点总结(四)之逻辑OR运算符详解
2016/05/31 Javascript
JavaScript仿微博输入框效果(案例分析)
2016/12/06 Javascript
谈谈jQuery之Deferred源码剖析
2016/12/19 Javascript
小程序简单两栏瀑布流效果的实现
2019/12/18 Javascript
JavaScript oncopy事件用法实例解析
2020/05/13 Javascript
vue中的循环对象属性和属性值用法
2020/09/04 Javascript
js闭包的9个使用场景
2020/12/29 Javascript
python多进程控制学习小结
2018/10/31 Python
Python多进程入门、分布式进程数据共享实例详解
2019/06/03 Python
通过selenium抓取某东的TT购买记录并分析趋势过程解析
2019/08/15 Python
Pytorch 中retain_graph的用法详解
2020/01/07 Python
python实现批量命名照片
2020/06/18 Python
python集合能干吗
2020/07/19 Python
从Pytorch模型pth文件中读取参数成numpy矩阵的操作
2021/03/04 Python
HTML5 Canvas实现平移/放缩/旋转deom示例(附截图)
2013/07/04 HTML / CSS
完美解决IE8下不兼容rgba()的问题
2017/03/31 HTML / CSS
深圳茁壮笔试题
2015/05/28 面试题
企业元宵节主持词
2014/03/25 职场文书
学生会副主席竞聘书
2014/03/31 职场文书
工作期间打牌检讨书范文
2014/11/20 职场文书
薪资证明范本
2015/06/19 职场文书
技术转让协议书
2016/03/19 职场文书
2019大学竞选班长发言稿
2019/06/27 职场文书