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 获取文件列表(或是目录例表)
Mar 25 Python
Python网页解析利器BeautifulSoup安装使用介绍
Mar 17 Python
30分钟搭建Python的Flask框架并在上面编写第一个应用
Mar 30 Python
Python中datetime常用时间处理方法
Jun 15 Python
Python 模拟登陆的两种实现方法
Aug 10 Python
Windows系统下多版本pip的共存问题详解
Oct 10 Python
Python排序搜索基本算法之冒泡排序实例分析
Dec 09 Python
python实现读取类别频数数据画水平条形图案例
Apr 24 Python
pyecharts在数据可视化中的应用详解
Jun 08 Python
matplotlib绘制鼠标的十字光标的实现(自定义方式,官方实例)
Jan 10 Python
python munch库的使用解析
May 25 Python
总结Pyinstaller打包的高级用法
Jun 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
PHP中去除换行解决办法小结(PHP_EOL)
2011/11/27 PHP
PHP $_FILES中error返回值详解
2014/01/30 PHP
php结合安卓客户端实现查询交互实例
2015/05/05 PHP
PHP支付宝当面付2.0代码
2018/12/21 PHP
CL vs ForZe BO5 第一场 2.13
2021/03/10 DOTA
JS 页面自动加载函数(兼容多浏览器)
2009/05/18 Javascript
date.parse在IE和FF中的区别
2010/07/29 Javascript
基于Jquery的仿Windows Aero弹出窗(漂亮的关闭按钮)
2010/09/28 Javascript
javascript贪吃蛇完整版(源码)
2013/12/09 Javascript
AngularJS入门教程之学习环境搭建
2014/12/06 Javascript
node.js中的querystring.parse方法使用说明
2014/12/10 Javascript
简介EasyUI datagrid editor combogrid搜索框的实现
2016/04/01 Javascript
[Bootstrap-插件使用]Jcrop+fileinput组合实现头像上传功能实例代码
2016/12/20 Javascript
js 将input框中的输入自动转化成半角大写(税号输入框)
2017/02/16 Javascript
javascript数组拍平方法总结
2018/01/20 Javascript
vue2.0实现移动端的输入框实时检索更新列表功能
2018/05/08 Javascript
vue中使用v-model完成组件间的通信
2019/08/22 Javascript
easyUI 实现的后台分页与前台显示功能示例
2020/06/01 Javascript
JSON获取属性值方法代码实例
2020/06/30 Javascript
基于JavaScript实现简单的轮播图
2021/03/03 Javascript
Django框架中数据的连锁查询和限制返回数据的方法
2015/07/17 Python
详解使用pymysql在python中对mysql的增删改查操作(综合)
2017/01/18 Python
python+matplotlib实现礼盒柱状图实例代码
2018/01/16 Python
python2.x实现人民币转大写人民币
2018/06/20 Python
python跳出双层for循环的解决方法
2019/06/24 Python
浅谈python出错时traceback的解读
2020/07/15 Python
CSS3教程(4):网页边框和网页文字阴影
2009/04/02 HTML / CSS
纪伊国屋泰国网上书店:Kinokuniya泰国
2017/12/24 全球购物
Room Mate Hotels美国:西班牙酒店品牌
2018/04/10 全球购物
中国双语服务优势的在线购票及活动平台:247tickets
2018/10/26 全球购物
Beauty Expert美国/加拿大:购买奢侈美容产品
2018/12/05 全球购物
AssertionError 跟一下那个类是 “is – a”的关系
2012/02/21 面试题
婚礼主持词
2014/03/13 职场文书
《跟踪台风的卫星》教学反思
2014/04/10 职场文书
学生保证书
2015/01/16 职场文书
WINDOWS 64位 下安装配置mysql8.0.25最详细的教程
2022/03/22 MySQL