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通过scapy获取局域网所有主机mac地址示例
May 04 Python
Python3基础之基本运算符概述
Aug 13 Python
在Django的模板中使用认证数据的方法
Jul 23 Python
python strip() 函数和 split() 函数的详解及实例
Feb 03 Python
Python中整数的缓存机制讲解
Feb 16 Python
Python合并同一个文件夹下所有PDF文件的方法
Mar 11 Python
python列表每个元素同增同减和列表元素去空格的实例
Jul 20 Python
Python 根据数据模板创建shapefile的实现
Nov 26 Python
Django多数据库配置及逆向生成model教程
Mar 28 Python
浅析python中的del用法
Sep 02 Python
Django利用elasticsearch(搜索引擎)实现搜索功能
Nov 26 Python
Python 数据可视化之Bokeh详解
Nov 02 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
用sql命令修改数据表中的一个字段为非空(not null)的语句
2010/06/04 PHP
纯php打造的tab选项卡效果代码(不用js)
2010/12/29 PHP
PHP对象克隆clone用法示例
2016/09/28 PHP
利用XMLHTTP传递参数在另一页面执行并刷新本页
2006/10/26 Javascript
jquery 分页控件实现代码
2009/11/30 Javascript
JQuery读取XML文件数据并显示的实现代码
2009/12/16 Javascript
jQuery的三种$()
2009/12/30 Javascript
Javascript之旅 对象的原型链之由来
2010/08/25 Javascript
浅谈Javascript中深复制
2014/12/01 Javascript
百度地图自定义控件分享
2015/03/04 Javascript
JS+JSP通过img标签调用实现静态页面访问次数统计的方法
2015/12/14 Javascript
javascript基础知识分享之类与函数化
2016/02/13 Javascript
jquery按回车键实现表单提交的简单实例
2016/05/25 Javascript
微信小程序 图片等比例缩放(图片自适应屏幕)
2016/11/16 Javascript
js实现键盘自动打字效果
2016/12/23 Javascript
Angular.JS实现无限级的联动菜单(使用demo)
2017/02/08 Javascript
Vue应用部署到服务器的正确方式
2017/07/15 Javascript
jQuery remove()过滤被删除的元素(推荐)
2017/07/18 jQuery
React Native中Navigator的使用方法示例
2017/10/13 Javascript
vue实现城市列表选择功能
2018/07/16 Javascript
TypeScript开发Node.js程序的方法
2019/04/30 Javascript
[26:24]完美副总裁、DOTA2负责人蔡玮专访:电竞如人生
2014/09/11 DOTA
Python中不同进制互相转换(二进制、八进制、十进制和十六进制)
2015/04/05 Python
Python使用matplotlib绘图无法显示中文问题的解决方法
2018/03/14 Python
Python 一句话生成字母表的方法
2019/01/02 Python
Python使用修饰器进行异常日志记录操作示例
2019/03/19 Python
Python图像处理模块ndimage用法实例分析
2019/09/05 Python
Python爬虫基于lxml解决数据编码乱码问题
2020/07/31 Python
机关工会开展学习雷锋活动总结
2014/03/01 职场文书
初三开学计划书
2014/04/27 职场文书
创优争先心得体会
2014/09/11 职场文书
2014县政府领导班子三严三实对照检查材料思想汇报
2014/09/26 职场文书
党员教师群众路线对照检查材料思想汇报
2014/09/29 职场文书
2014年计划生育协会工作总结
2014/11/14 职场文书
2015年妇产科工作总结
2015/05/18 职场文书
家长必看:义务教育,不得以面试 评测等名义选拔学生
2019/07/09 职场文书