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 相关文章推荐
win7安装python生成随机数代码分享
Dec 27 Python
python生成IP段的方法
Jul 07 Python
Python多进程池 multiprocessing Pool用法示例
Sep 07 Python
Python基本socket通信控制操作示例
Jan 30 Python
python实现LRU热点缓存及原理
Oct 29 Python
python反转列表的三种方式解析
Nov 08 Python
python实现XML解析的方法解析
Nov 16 Python
python实现画循环圆
Nov 23 Python
Python urllib.request对象案例解析
May 11 Python
Python 爬虫的原理
Jul 30 Python
python使用Word2Vec进行情感分析解析
Jul 31 Python
python使用列表的最佳方案
Aug 12 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
如何给phpcms v9增加类似于phpcms 2008中的关键词表
2013/07/01 PHP
thinkphp3.x自定义Action、Model及View的简单实现方法
2016/05/19 PHP
PHP实现的迪科斯彻(Dijkstra)最短路径算法实例
2017/09/16 PHP
PHP页面静态化――纯静态与伪静态用法详解
2020/06/05 PHP
jquery提示 "object expected"的解决方法
2009/12/13 Javascript
javascript下对于事件、事件流、事件触发的顺序随便说说
2010/07/17 Javascript
利用jquery的获取JS文件中的字符串内容
2012/02/14 Javascript
JS OffsetParent属性深入解析
2014/01/13 Javascript
jQuery中事件与动画的总结分享
2016/05/24 Javascript
jQuery EasyUI 页面加载等待及页面等待层
2017/02/06 Javascript
js通过Date对象实现倒计时动画效果
2017/10/27 Javascript
基于vue.js无缝滚动效果
2018/01/25 Javascript
Vue打包后出现一些map文件的解决方法
2018/02/13 Javascript
解决vue中无法动态修改jqgrid组件 url地址的问题
2018/03/01 Javascript
微信小程序实现发红包功能
2018/07/11 Javascript
简述vue状态管理模式之vuex
2018/08/29 Javascript
Vue实现导航栏的显示开关控制
2019/11/01 Javascript
vue实现随机验证码功能(完整代码)
2019/12/10 Javascript
JS手写一个自定义Promise操作示例
2020/03/16 Javascript
Vue项目前后端联调(使用proxyTable实现跨域方式)
2020/07/18 Javascript
vue flex 布局实现div均分自动换行的示例代码
2020/08/05 Javascript
Python中使用socket发送HTTP请求数据接收不完整问题解决方法
2015/02/04 Python
Python守护进程和脚本单例运行详解
2017/01/06 Python
Python爬虫爬取一个网页上的图片地址实例代码
2018/01/16 Python
解决python中导入win32com.client出错的问题
2019/07/26 Python
python中setuptools的作用是什么
2020/06/19 Python
大学应届毕业生求职信
2014/05/24 职场文书
行政文员实习自我鉴定范文
2014/09/14 职场文书
机关党员三严三实心得体会
2014/10/13 职场文书
物业保安辞职信
2015/05/12 职场文书
电影雨中的树观后感
2015/06/15 职场文书
2019辞职报告范本3篇!
2019/07/23 职场文书
pytorch 梯度NAN异常值的解决方案
2021/06/05 Python
Java基础之线程锁相关知识总结
2021/06/30 Java/Android
一文了解MySQL二级索引的查询过程
2022/02/24 MySQL
Apache Hudi的多版本清理服务彻底讲解
2022/03/31 Servers