修复 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端口扫描系统实现方法
Nov 19 Python
python虚拟环境virtualenv的使用教程
Oct 20 Python
Sublime开发python程序的示例代码
Jan 24 Python
关于django 数据库迁移(migrate)应该知道的一些事
May 27 Python
对Python 3.5拼接列表的新语法详解
Nov 08 Python
Python制作exe文件简单流程
Jan 24 Python
python BlockingScheduler定时任务及其他方式的实现
Sep 19 Python
提升python处理速度原理及方法实例
Dec 25 Python
如何基于python测量代码运行时间
Dec 25 Python
python实现批处理文件
Jul 28 Python
python 实现超级玛丽游戏
Nov 25 Python
python tkinter模块的简单使用
Apr 07 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
mysql5写入和读出乱码解决
2006/11/25 PHP
php中用于检测一个地理IP地址是否可用的代码
2012/02/19 PHP
PHP提示Deprecated: mysql_connect(): The mysql extension is deprecated的解决方法
2014/08/28 PHP
curl和libcurl的区别简介
2015/07/01 PHP
javascript中substr,substring,slice.splice的区别说明
2010/11/25 Javascript
仿猪八戒网左下角的文字滚动效果
2011/10/28 Javascript
HTML中的setCapture和releaseCapture使用介绍
2012/03/21 Javascript
将input file的选择的文件清空的两种解决方案
2013/10/21 Javascript
ExtJs异步无法向外传值和赋值的完美解决办法
2017/06/14 Javascript
ionic2屏幕适配实现适配手机、平板等设备的示例代码
2017/08/11 Javascript
Vue 实现展开折叠效果的示例代码
2018/08/27 Javascript
angular中如何绑定iframe中src的方法
2019/02/01 Javascript
基于vue框架手写一个notify插件实现通知功能的方法
2019/03/31 Javascript
微信小程序通过一个json实现分享朋友圈图片
2019/09/03 Javascript
vue 解决data中定义图片相对路径页面不显示的问题
2020/08/13 Javascript
JS typeof fn === 'function' && fn()详解
2020/08/22 Javascript
解决vue props传Array/Object类型值,子组件报错的情况
2020/11/07 Javascript
[01:27]2014DOTA2展望TI 剑指西雅图IG战队专访
2014/06/30 DOTA
深入解析Python中的WSGI接口
2015/05/11 Python
python过滤字符串中不属于指定集合中字符的类实例
2015/06/30 Python
Python实现的knn算法示例
2018/06/14 Python
pycharm中使用anaconda部署python环境的方法步骤
2018/12/19 Python
pandas数据集的端到端处理
2019/02/18 Python
python中aioysql(异步操作MySQL)的方法
2019/04/11 Python
python多进程间通信代码实例
2019/09/30 Python
Python 下载及安装详细步骤
2019/11/04 Python
在keras下实现多个模型的融合方式
2020/05/23 Python
详解Python openpyxl库的基本应用
2021/02/26 Python
css3的过滤效果简单实例
2016/08/03 HTML / CSS
介绍一下.net和Java的特点和区别
2012/09/26 面试题
大学生预备党员自我评价分享
2013/11/16 职场文书
单位领导证婚词
2014/01/14 职场文书
给幼儿园老师的表扬信
2014/01/19 职场文书
社区中秋节活动方案
2014/01/29 职场文书
个人房屋买卖协议书(范本)
2014/10/04 职场文书
出纳岗位职责范本
2015/03/31 职场文书