修复 Django migration 时遇到的问题解决


Posted in Python onJune 14, 2018

今天想给自己的 Blog 加点功能,顺便补上测试,然而第一步在创建测试数据库就过不了,我就尝试解决这个问题。

在跑 ./manage.py test 时,先会创建一个测试用的数据库,这时我遇到了一个问题:

ValueError: Related model 'telegrambot.User' cannot be resolved

这个错误是指,相关的 Model telegrambot.User 无法解析,这是怎么回事?

然后因为 ./manage.py test 根本没有打印出其他有用的信息,我也不知道是发生在哪里的错误,这时我想到了一个办法,就是尝试手动建立一个数据库,叫 test,然后进行 migration:

./manage.py migrate --database test

一跑,终于有详细的输出,定位到了具体出错的那个 Migration。原来是我的一个 App 的 Model 依赖了 telegrambot.User,但是找不到。这是什么原因?

我尝试在 settings.py 的 INSTALLED_APPS 把 telegrambot 的顺序调到前面来,也没有用。于是只好启用 StackoverFlow。

原来是我的那个 App 的 Migration 的 dependencies 没有依赖 telegrambot,于是自然不会去找了。

于是把原来的,加了一行 dependency,再尝试 ./manage.py test,问题解决。

class Migration(migrations.Migration):

  dependencies = [
+    ('telegrambot', '0001_initial'),
    ('powernews', '0004_applenews'),
  ]

总结:有些命令行工具执行出错时,不会有太多有用的输出信息,这时就可以尝试手动去执行一些操作。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
深入解析Python中的上下文管理器
Jun 28 Python
利用numpy+matplotlib绘图的基本操作教程
May 03 Python
Python Pandas找到缺失值的位置方法
Apr 12 Python
解读python如何实现决策树算法
Oct 11 Python
Python 生成器,迭代,yield关键字,send()传参给yield语句操作示例
Oct 12 Python
简单了解python元组tuple相关原理
Dec 02 Python
一些关于python 装饰器的个人理解
Aug 31 Python
python的链表基础知识点
Sep 13 Python
Ubuntu配置Pytorch on Graph (PoG)环境过程图解
Nov 19 Python
提取视频中的音频 Python只需要三行代码!
May 10 Python
Python中异常处理用法
Nov 27 Python
python 离散点图画法的实现
Apr 01 Python
tensorflow 获取模型所有参数总和数量的方法
Jun 14 #Python
tensorflow 获取变量&打印权值的实例讲解
Jun 14 #Python
利用python对Excel中的特定数据提取并写入新表的方法
Jun 14 #Python
Python基于最小二乘法实现曲线拟合示例
Jun 14 #Python
详解python之协程gevent模块
Jun 14 #Python
python 筛选数据集中列中value长度大于20的数据集方法
Jun 14 #Python
浅谈Tensorflow由于版本问题出现的几种错误及解决方法
Jun 13 #Python
You might like
聊天室php&mysql(二)
2006/10/09 PHP
PHP SESSION的增加、删除、修改、查看操作
2015/03/20 PHP
php自定义中文字符串截取函数substr_for_gb2312及substr_for_utf8示例
2016/05/28 PHP
php 数据结构之链表队列
2017/10/17 PHP
详细解读php的命名空间(一)
2018/02/21 PHP
gearman中任务的优先级和返回状态实例分析
2020/02/27 PHP
javascript中的prototype属性实例分析说明
2010/08/09 Javascript
Javascript 八进制转义字符(8进制)
2011/04/08 Javascript
删除select中所有option选项jquery代码
2013/08/12 Javascript
jQuery里filter()函数与find()函数用法分析
2015/06/24 Javascript
常用原生JS兼容性写法汇总
2016/04/27 Javascript
angular基于路由控制ui-router实现系统权限控制
2016/09/27 Javascript
AngularJS控制器之间的通信方式详解
2016/11/03 Javascript
JavaScript结合HTML DOM实现联动菜单
2017/04/05 Javascript
js简单实现网页换肤功能
2017/04/07 Javascript
Vue完整项目构建(进阶篇)
2018/02/10 Javascript
JavaScript实现的反序列化json字符串操作示例
2018/07/18 Javascript
使用webpack构建应用的方法步骤
2019/03/04 Javascript
vue+vuex+json-seiver实现数据展示+分页功能
2019/04/11 Javascript
微信小程序分享功能onShareAppMessage(options)用法分析
2019/04/24 Javascript
node.JS路径解析之PATH模块使用方法详解
2020/02/06 Javascript
Vue打包部署到Nginx时,css样式不生效的解决方式
2020/08/03 Javascript
编写Python脚本抓取网络小说来制作自己的阅读器
2015/08/20 Python
Python爬虫常用小技巧之设置代理IP
2018/09/13 Python
对python的输出和输出格式详解
2018/12/08 Python
python用pip install时安装失败的一系列问题及解决方法
2020/02/24 Python
Nike法国官方网站:Nike.com FR
2018/07/22 全球购物
配件采购员岗位职责
2013/12/03 职场文书
理想演讲稿范文
2014/05/21 职场文书
2014年个人工作总结范文
2014/11/07 职场文书
酒店辞职信怎么写
2015/02/27 职场文书
户外亲子活动总结
2015/05/08 职场文书
2015年教师节主持词
2015/07/03 职场文书
2016党员干部反腐倡廉心得体会
2016/01/13 职场文书
2019学校运动会开幕词
2019/05/13 职场文书
不要在HTML中滥用div
2021/05/08 HTML / CSS