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实现用户登陆邮件通知的方法
Jul 09 Python
离线安装Pyecharts的步骤以及依赖包流程
Apr 23 Python
PyCharm代码提示忽略大小写设置方法
Oct 28 Python
在PyCharm中三步完成PyPy解释器的配置的方法
Oct 29 Python
使用Python测试Ping主机IP和某端口是否开放的实例
Dec 17 Python
python-docx文件定位读取过程(尝试替换)
Feb 13 Python
python使用docx模块读写docx文件的方法与docx模块常用方法详解
Feb 17 Python
python实现字符串和数字拼接
Mar 02 Python
Python基于locals返回作用域字典
Oct 17 Python
解决python3.x安装numpy成功但import出错的问题
Nov 17 Python
Python制作运行进度条的实现效果(代码运行不无聊)
Feb 24 Python
Python Flask搭建yolov3目标检测系统详解流程
Nov 07 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中的字符串函数
2006/10/09 PHP
ThinkPHP3.2.3框架邮件发送功能图文实例详解
2019/04/23 PHP
Mac下快速搭建PHP开发环境步骤详解
2019/05/05 PHP
用javascript实现点击链接弹出"图片另存为"而不是直接打开
2007/08/15 Javascript
javascript 文档的编码问题解决
2009/03/01 Javascript
jQuery 幻灯片插件(带缩略图功能)
2011/01/24 Javascript
Tab页界面 用jQuery及Ajax技术实现(php后台)
2011/10/12 Javascript
jQuery实现点击文本框弹出热门标签的提示效果
2013/11/17 Javascript
解析prototype,JQuery中跳出each循环的方法
2013/12/12 Javascript
JavaScript的strict模式与with关键字介绍
2014/02/08 Javascript
整理AngularJS框架使用过程当中的一些性能优化要点
2016/03/05 Javascript
超漂亮的Bootstrap 富文本编辑器summernote
2016/04/05 Javascript
jquery简单插件制作(fn.extend)完整实例
2016/05/24 Javascript
原生js封装的一些jquery方法(详解)
2016/09/20 Javascript
模板视图和AngularJS之间冲突的解决方法
2016/11/22 Javascript
基于bootstrap风格的弹框插件
2016/12/28 Javascript
AngularJS实现图片上传和预览功能的方法分析
2017/11/08 Javascript
vue实现移动端拖动排序
2020/08/21 Javascript
分析用Python脚本关闭文件操作的机制
2015/06/28 Python
Python和C/C++交互的几种方法总结
2017/05/11 Python
python3实现基于用户的协同过滤
2018/05/31 Python
实例讲解Python中整数的最大值输出
2019/03/17 Python
django多对多表的创建,级联删除及手动创建第三张表
2019/07/25 Python
使用pip安装python库的多种方式
2019/07/31 Python
python关闭占用端口方式
2019/12/17 Python
python自动脚本的pyautogui入门学习
2020/04/01 Python
Python 读取位于包中的数据文件
2020/08/07 Python
OpenCV实现机器人对物体进行移动跟随的方法实例
2020/11/09 Python
中国最大的潮流商品购物网站:YOHO!BUY有货
2017/01/07 全球购物
社团活动总结范文
2014/04/26 职场文书
教育基金募捐倡议书
2014/05/14 职场文书
广播节目策划方案
2014/05/23 职场文书
化学教育专业求职信
2014/07/08 职场文书
个人剖析材料及整改措施
2014/10/07 职场文书
房地产销售主管岗位职责
2015/02/13 职场文书
MySQL下载安装配置详细教程 附下载资源
2022/09/23 MySQL