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实现linux服务器批量修改密码并生成execl
Apr 22 Python
Python调用SQLPlus来操作和解析Oracle数据库的方法
Apr 09 Python
举例讲解Python中metaclass元类的创建与使用
Jun 30 Python
python中安装模块包版本冲突问题的解决
May 02 Python
Python实现嵌套列表去重方法示例
Dec 28 Python
Python基于ThreadingTCPServer创建多线程代理的方法示例
Jan 11 Python
Python基于whois模块简单识别网站域名及所有者的方法
Apr 23 Python
python pandas中对Series数据进行轴向连接的实例
Jun 08 Python
解决win7操作系统Python3.7.1安装后启动提示缺少.dll文件问题
Jul 15 Python
python识别验证码的思路及解决方案
Sep 13 Python
python Paramiko使用示例
Sep 21 Python
python小程序之飘落的银杏
Apr 17 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
dedecms模板标签代码官方参考
2007/03/17 PHP
PHP跨平台获取服务器IP地址自定义函数分享
2014/12/29 PHP
javascript 广告后加载,加载完页面再加载广告
2010/11/25 Javascript
三级下拉菜单的js实现代码
2011/05/23 Javascript
jquery中的$(document).ready()使用小结
2014/02/14 Javascript
js父窗口关闭时子窗口随之关闭完美解决方案
2014/04/29 Javascript
禁用Enter键表单自动提交实现代码
2014/05/22 Javascript
JavaScript中的DSL元编程介绍
2015/03/15 Javascript
JavaScript关于提高网站性能的几点建议(一)
2016/07/24 Javascript
jQuery窗口拖动功能的实现代码
2017/02/04 Javascript
基于Vue实现timepicker
2017/04/25 Javascript
Vue2.0系列之过滤器的使用
2018/03/01 Javascript
Vue 使用中的小技巧
2018/04/26 Javascript
微信小程序实现滴滴导航tab切换效果
2018/07/24 Javascript
详解vue中$nextTick和$forceUpdate的用法
2019/12/11 Javascript
Antd的table组件表格的序号自增操作
2020/10/27 Javascript
[00:48]完美“圣”典2016风云人物:xiao8宣传片
2016/11/30 DOTA
[01:03:59]2018DOTA2亚洲邀请赛3月30日 小组赛B组VGJ.T VS Secret
2018/03/31 DOTA
Python的Flask框架中配置多个子域名的方法讲解
2016/06/07 Python
详解使用python crontab设置linux定时任务
2016/12/08 Python
教你使用python实现微信每天给女朋友说晚安
2018/03/23 Python
解决Pycharm调用Turtle时 窗口一闪而过的问题
2019/02/16 Python
python pytest进阶之xunit fixture详解
2019/06/27 Python
flask框架jinja2模板与模板继承实例分析
2019/08/01 Python
Python新手学习函数默认参数设置
2020/06/03 Python
Django+Uwsgi+Nginx如何实现生产环境部署
2020/07/31 Python
Python爬取酷狗MP3音频的步骤
2021/02/26 Python
中国旅游网站:同程旅游
2016/09/11 全球购物
往来会计岗位职责
2013/12/19 职场文书
绿色环保标语
2014/06/12 职场文书
建设办主任四风问题整改思路和措施
2014/09/20 职场文书
2014年信息中心工作总结
2014/12/17 职场文书
感恩节寄语2015
2015/03/24 职场文书
2015年煤矿安全工作总结
2015/05/23 职场文书
利用Python第三方库实现预测NBA比赛结果
2021/06/21 Python
Spring中的@Transactional的工作原理
2022/06/05 Java/Android