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列表list数组array用法实例解析
Oct 28 Python
Mac下Supervisor进程监控管理工具的安装与配置
Dec 16 Python
Python数据结构与算法之二叉树结构定义与遍历方法详解
Dec 12 Python
Python3+django2.0+apache2+ubuntu14部署网站上线的方法
Jul 07 Python
python之线程通过信号pyqtSignal刷新ui的方法
Jan 11 Python
浅谈Python批处理文件夹中的txt文件
Mar 11 Python
python英语单词测试小程序代码实例
Sep 09 Python
使用Python脚本从文件读取数据代码实例
Jan 19 Python
python实现堆排序的实例讲解
Feb 21 Python
python GUI库图形界面开发之PyQt5选项卡控件QTabWidget详细使用方法与实例
Mar 01 Python
详解Python的爬虫框架 Scrapy
Aug 03 Python
opencv用VS2013调试时用Image Watch插件查看图片
Jul 26 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年中国咖啡业现状与发展趋势
2021/03/04 咖啡文化
php 变量未定义等错误的解决方法
2011/01/12 PHP
6个超实用的PHP代码片段
2015/08/10 PHP
Yii列表定义与使用分页方法小结(3种方法)
2016/07/15 PHP
PHP设计模式(九)外观模式Facade实例详解【结构型】
2020/05/02 PHP
javascript中的几个运算符
2007/06/29 Javascript
javascript 写类方式之一
2009/07/05 Javascript
半角全角相互转换的js函数
2009/10/16 Javascript
jquery高级编程的最佳实践详解
2014/03/23 Javascript
javascript定义变量时带var与不带var的区别分析
2015/01/12 Javascript
利用jQuery设计一个简单的web音乐播放器的实例分享
2016/03/08 Javascript
js获取所有checkbox的值的简单实例
2016/05/30 Javascript
JavaScript重定向URL参数的两种方法小结
2016/10/19 Javascript
JQuery页面随滚动条动态加载效果的简单实现(推荐)
2017/02/08 Javascript
基于jQuery实现定位导航位置效果
2017/11/15 jQuery
Vue 2.0学习笔记之使用$refs访问Vue中的DOM
2017/12/19 Javascript
使用Vue自定义指令实现Select组件
2018/05/24 Javascript
详解新手使用vue-router传参时注意事项
2019/06/06 Javascript
用Python登录Gmail并发送Gmail邮件的教程
2015/04/17 Python
python获得一个月有多少天的方法
2015/06/04 Python
Python发送form-data请求及拼接form-data内容的方法
2016/03/05 Python
Python实现视频下载功能
2017/03/14 Python
python实现二叉树的遍历
2017/12/11 Python
Python使用正则表达式获取网页中所需要的信息
2018/01/29 Python
centos6.5安装python3.7.1之后无法使用pip的解决方案
2019/02/14 Python
Python进程间通信multiprocess代码实例
2020/03/18 Python
Python 远程开关机的方法
2020/11/18 Python
CSS3 制作旋转的大风车(充满童年回忆)
2013/01/30 HTML / CSS
SmartBuyGlasses意大利:购买太阳镜、眼镜和隐形眼镜
2018/11/20 全球购物
创业计划书怎样才能打动风投
2014/01/01 职场文书
一年级学生评语
2014/04/23 职场文书
购房意向书
2014/08/30 职场文书
幼师辞职信范文
2015/02/27 职场文书
村党组织公开承诺书
2015/04/30 职场文书
入党团支部推荐意见
2015/06/02 职场文书
elasticSearch-api的具体操作步骤讲解
2021/06/28 Java/Android