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首次安装后运行报错(0xc000007b)的解决方法
Oct 18 Python
windows下ipython的安装与使用详解
Oct 20 Python
Python实现将不规范的英文名字首字母大写
Nov 15 Python
python分析作业提交情况
Nov 22 Python
Python爬取当当、京东、亚马逊图书信息代码实例
Dec 09 Python
理论讲解python多进程并发编程
Feb 09 Python
Python最小二乘法矩阵
Jan 02 Python
详解Python匿名函数(lambda函数)
Apr 19 Python
python实现随机加减法生成器
Feb 24 Python
Python列表的深复制和浅复制示例详解
Feb 12 Python
用python 绘制茎叶图和复合饼图
Feb 26 Python
python3实现常见的排序算法(示例代码)
Jul 04 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 和 MySQL 基础教程(一)
2006/10/09 PHP
生成静态页面的php函数,php爱好者站推荐
2007/03/19 PHP
谈谈新手如何学习PHP 默默经典版本
2009/08/04 PHP
PHP中return 和 exit 、break和contiue 区别与用法
2012/04/09 PHP
PHP7之Mongodb API使用详解
2015/12/26 PHP
PHP中函数gzuncompress无法使用的解决方法
2017/03/02 PHP
总结PHP代码规范、流程规范、git规范
2018/06/18 PHP
随机显示经典句子或诗歌的javascript脚本
2007/08/04 Javascript
IE8 原生JSON支持
2009/04/13 Javascript
ExtJS Grid使用SimpleStore、多选框的方法
2009/11/20 Javascript
解析jQuery与其它js(Prototype)库兼容共存
2013/07/04 Javascript
JS 实现导航栏悬停效果(续)
2013/09/24 Javascript
javascript浏览器窗口之间传递数据的方法
2015/01/20 Javascript
JavaScript编程中容易出BUG的几点小知识
2015/01/31 Javascript
Bootstrap每天必学之滚动监听
2016/03/16 Javascript
基于jQuery实现数字滚动效果
2017/01/16 Javascript
JavaScript简单计算人的年龄示例
2017/04/15 Javascript
原生JavaScript实现todolist功能
2018/03/02 Javascript
JS使用canvas中的measureText方法测量字体宽度示例
2019/02/02 Javascript
Vue.js中的extend绑定节点并显示的方法
2019/06/20 Javascript
python的id()函数介绍
2013/02/10 Python
浅谈flask截获所有访问及before/after_request修饰器
2018/01/18 Python
python书籍信息爬虫实例
2018/03/19 Python
Python 中PyQt5 点击主窗口弹出另一个窗口的实现方法
2019/07/04 Python
python标准库OS模块函数列表与实例全解
2020/03/10 Python
Python实现石头剪刀布游戏
2021/01/20 Python
Missguided美国官网:英国时尚品牌
2018/01/18 全球购物
英语专业学子个人的自我评价
2013/10/02 职场文书
初中生学习的自我评价
2013/11/14 职场文书
物流仓管员工作职责
2014/01/06 职场文书
交通安全演讲稿
2014/01/07 职场文书
2014年会计工作总结
2014/11/27 职场文书
爱情保证书
2015/01/17 职场文书
创业计划书之珠宝饰品
2019/08/26 职场文书
用position:sticky完美解决小程序吸顶问题的实现方法
2021/04/24 HTML / CSS
电频谱管理的原则是什么
2022/02/18 无线电