修复 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求解水仙花数的方法
May 11 Python
Python for Informatics 第11章之正则表达式(四)
Apr 21 Python
python之文件的读写和文件目录以及文件夹的操作实现代码
Aug 28 Python
Python中的id()函数指的什么
Oct 17 Python
解决Python plt.savefig 保存图片时一片空白的问题
Jan 10 Python
Python中字符串与编码示例代码
May 20 Python
python监控nginx端口和进程状态
Sep 06 Python
python模拟实现斗地主发牌
Jan 07 Python
python 爬取马蜂窝景点翻页文字评论的实现
Jan 20 Python
python3.8.1+selenium实现登录滑块验证功能
May 22 Python
Python QT组件库qtwidgets的使用
Nov 02 Python
Python eval函数介绍及用法
Nov 09 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
2020最新CPU的性能排名
2020/04/02 数码科技
laravel学习教程之关联模型
2016/07/30 PHP
laravel多条件查询方法(and,or嵌套查询)
2019/10/09 PHP
JS setCapture 区域外事件捕捉
2010/03/18 Javascript
Array.prototype.concat不是通用方法反驳[译]
2012/09/20 Javascript
ie下$.getJSON出现问题的解决方法
2014/02/12 Javascript
JavaScript通过元素的ID和name设置样式
2014/07/08 Javascript
jquery实现导航固定顶部的效果仿蘑菇街
2014/10/22 Javascript
JavaScript定义类和对象的方法
2014/11/26 Javascript
node.js中的fs.createReadStream方法使用说明
2014/12/17 Javascript
jQuery插件slides实现无缝轮播图特效
2015/04/17 Javascript
jQuery中实现prop()函数控制多选框(全选,反选)
2016/08/19 Javascript
JS button按钮实现submit按钮提交效果
2016/11/01 Javascript
JS简单实现滑动加载数据的方法示例
2017/10/18 Javascript
JavaScript实现左侧菜单效果
2017/12/14 Javascript
webpack打包js的方法
2018/03/12 Javascript
Vue Router history模式的配置方法及其原理
2019/05/30 Javascript
[51:44]2018DOTA2亚洲邀请赛 4.3 突围赛 Optic vs iG 第二场
2018/04/04 DOTA
python自定义解析简单xml格式文件的方法
2015/05/11 Python
浅述python中argsort()函数的实例用法
2017/03/30 Python
[原创]windows下Anaconda的安装与配置正解(Anaconda入门教程)
2018/04/05 Python
python skimage 连通性区域检测方法
2018/06/21 Python
Python使用pickle模块报错EOFError Ran out of input的解决方法
2018/08/16 Python
django session完成状态保持的方法
2018/11/27 Python
python2与python3的print及字符串格式化小结
2018/11/30 Python
python中多个装饰器的调用顺序详解
2019/07/16 Python
Python 爬取必应壁纸的实例讲解
2020/02/24 Python
详解Python中pyautogui库的最全使用方法
2020/04/01 Python
Python之字典添加元素的几种方法
2020/09/30 Python
使用HTML5的File实现base64和图片的互转
2013/08/01 HTML / CSS
包装类的功能、种类、常用方法
2012/01/27 面试题
业务主管岗位职责
2013/11/20 职场文书
律师授权委托书范本
2014/10/07 职场文书
swagger如何返回map字段注释
2021/07/03 Java/Android
微信小程序scroll-view不能左右滑动问题的解决方法
2021/07/09 Javascript
5种方法告诉你如何使JavaScript 代码库更干净
2021/09/15 Javascript