修复 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深入学习之闭包
Aug 31 Python
使用Python的Flask框架来搭建第一个Web应用程序
Jun 04 Python
详解Python中的Descriptor描述符类
Jun 14 Python
Python用zip函数同时遍历多个迭代器示例详解
Nov 14 Python
Python有序查找算法之二分法实例分析
Dec 11 Python
Python实现将json文件中向量写入Excel的方法
Mar 26 Python
Python爬虫基础之XPath语法与lxml库的用法详解
Sep 13 Python
Python判断是否json是否包含一个key的方法
Dec 31 Python
PyCharm 2020 激活到 2100 年的教程
Mar 25 Python
linux centos 7.x 安装 python3.x 替换 python2.x的过程解析
Dec 14 Python
plt.figure()参数使用详解及运行演示
Jan 08 Python
Python进度条的使用
May 17 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反射类ReflectionClass和ReflectionObject的使用方法
2013/11/13 PHP
PHP统计当前在线用户数实例讲解
2015/10/21 PHP
WordPress特定文章对搜索引擎隐藏或只允许搜索引擎查看
2015/12/31 PHP
使用typeof方法判断undefined类型
2014/09/09 Javascript
使用js画图之画切线
2015/01/12 Javascript
JavaScript如何禁止Backspace键
2015/12/02 Javascript
easyui-combobox 实现简单的自动补全功能示例
2016/11/08 Javascript
jQuery代码实现实时获取时间
2017/01/29 Javascript
用Nodejs搭建服务器访问html、css、JS等静态资源文件
2017/04/28 NodeJs
4 种滚动吸顶实现方式的比较
2019/04/09 Javascript
原生js通过一行代码实现简易轮播图
2019/06/05 Javascript
express框架中使用jwt实现验证的方法
2019/08/25 Javascript
vue3.0中使用postcss-pxtorem的具体方法
2019/11/20 Javascript
python实现ipsec开权限实例
2014/11/11 Python
scrapy spider的几种爬取方式实例代码
2018/01/25 Python
Python爬虫框架Scrapy实例代码
2018/03/04 Python
python实现京东秒杀功能
2018/07/30 Python
Python爬虫——爬取豆瓣电影Top250代码实例
2019/04/17 Python
python做反被爬保护的方法
2019/07/01 Python
Python列表删除元素del、pop()和remove()的区别小结
2019/09/11 Python
使用Python 自动生成 Word 文档的教程
2020/02/13 Python
解决Python图形界面中设置尺寸的问题
2020/03/05 Python
Python脚本如何在bilibili中查找弹幕发送者
2020/06/04 Python
全球知名的珠宝首饰品牌:Kay Jewelers
2018/02/11 全球购物
声明struct x1 { . . . }; 和typedef struct { . . . }x2;有什么不同
2012/06/02 面试题
制药工程专业毕业生推荐信
2013/12/24 职场文书
《找不到快乐的波斯猫》教学反思
2014/02/24 职场文书
大学国际贸易专业自荐信
2014/06/05 职场文书
竞选纪律委员演讲稿
2014/09/13 职场文书
谢师宴答谢词
2015/01/05 职场文书
黑暗中的舞者观后感
2015/06/18 职场文书
MySQL InnoDB ReplicaSet(副本集)简单介绍
2021/04/24 MySQL
python 实现图与图之间的间距调整subplots_adjust
2021/05/21 Python
.Net Core导入千万级数据至Mysql的步骤
2021/05/24 MySQL
MongoDB使用场景总结
2022/02/24 MongoDB
不负正版帝国之名 《重返帝国》引领SLG手游制作新的标杆
2022/04/07 其他游戏