修复 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 相关文章推荐
在Mac OS上部署Nginx和FastCGI以及Flask框架的教程
May 02 Python
简单掌握Python的Collections模块中counter结构的用法
Jul 07 Python
详解python调度框架APScheduler使用
Mar 28 Python
Python使用arrow库优雅地处理时间数据详解
Oct 10 Python
python+opencv实现动态物体追踪
Jan 09 Python
对numpy中布尔型数组的处理方法详解
Apr 17 Python
python tkinter实现界面切换的示例代码
Jun 14 Python
python tkinter控件布局项目实例
Nov 04 Python
Python转换字典成为对象,可以用"."方式访问对象属性实例
May 11 Python
理解Django 中Call Stack机制的小Demo
Sep 01 Python
Flask-SocketIO服务端安装及使用代码示例
Nov 26 Python
python 模拟在天空中放风筝的示例代码
Apr 21 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
phpmyadmin导入(import)文件限制的解决办法
2009/12/11 PHP
JS中encodeURIComponent函数用php解码的代码
2012/03/01 PHP
去掉destoon资讯内容页keywords关键字自带的文章标题的方法
2014/08/21 PHP
php好代码风格的阶段性总结
2016/06/25 PHP
Laravel使用RabbitMQ的方法示例
2019/06/18 PHP
详细讲解JS节点知识
2010/01/31 Javascript
使用按钮控制以何种方式打开新窗口的属性介绍
2012/12/17 Javascript
Ajax同步与异步传输的示例代码
2013/11/21 Javascript
JS实现统计复选框选中个数并提示确定与取消的方法
2015/07/01 Javascript
JavaScript简单修改窗口大小的方法
2015/08/03 Javascript
js模式化窗口问题![window.dialogArguments]
2016/10/30 Javascript
Jquery-data的三种用法
2017/04/18 jQuery
ES6新特性之类(Class)和继承(Extends)相关概念与用法分析
2017/05/24 Javascript
AngularJS表单验证功能分析
2017/05/26 Javascript
EasyUI的DataGrid绑定Json数据源的示例代码
2017/12/16 Javascript
node.js中express模块创建服务器和http模块客户端发请求
2019/03/06 Javascript
python框架django基础指南
2016/09/08 Python
django在接受post请求时显示403forbidden实例解析
2018/01/25 Python
使用python获取csv文本的某行或某列数据的实例
2018/04/03 Python
Python返回数组/List长度的实例
2018/06/23 Python
django搭建项目配置环境和创建表过程详解
2019/07/22 Python
python文字转语音的实例代码分析
2019/11/12 Python
通过python连接Linux命令行代码实例
2020/02/18 Python
python中strip(),lstrip(),rstrip()函数的使用讲解
2020/11/17 Python
Python之多进程与多线程的使用
2021/02/23 Python
python中random模块详解
2021/03/01 Python
全球最大的网上自行车商店:Chain Reaction Cycles
2016/12/02 全球购物
美国豪华的多品牌精品店:The Webster
2019/07/31 全球购物
高二英语教学反思
2014/01/19 职场文书
CAD制图人员的自荐信
2014/02/07 职场文书
甜品店创业计划书
2014/08/14 职场文书
老公给老婆的检讨书(精华篇)
2014/10/18 职场文书
2014年度思想工作总结
2014/11/27 职场文书
2016年第十四个公民道德宣传日活动总
2016/04/01 职场文书
财务会计个人原因辞职信
2019/06/21 职场文书
导游词之介休绵山
2019/12/31 职场文书