修复 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 相关文章推荐
使用IPython下的Net-SNMP来管理类UNIX系统的教程
Apr 15 Python
使用Python发送邮件附件以定时备份MySQL的教程
Apr 25 Python
简单介绍Python的Django框架加载模版的方式
Jul 20 Python
Python实现购物车功能的方法分析
Nov 10 Python
Python中使用支持向量机SVM实践
Dec 27 Python
儿童编程python入门
May 08 Python
python判断列表的连续数字范围并分块的方法
Nov 16 Python
对python 多线程中的守护线程与join的用法详解
Feb 18 Python
详解Numpy数组转置的三种方法T、transpose、swapaxes
May 27 Python
python中字典按键或键值排序的实现代码
Aug 27 Python
基于python-pptx库中文文档及使用详解
Feb 14 Python
python 闭包函数详细介绍
Apr 19 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
环境会对咖啡种植有什么影响
2021/03/03 咖啡文化
解析获取优酷视频真实下载地址的PHP源代码
2013/06/26 PHP
解析wamp5下虚拟机配置文档
2013/06/27 PHP
php数组合并的二种方法
2014/03/21 PHP
Win7 64位系统下PHP连接Oracle数据库
2014/08/20 PHP
实例详解PHP中html word 互转的方法
2016/01/28 PHP
IE innerHTML,outerHTML所引起的问题
2009/06/04 Javascript
JavaScript 关键字屏蔽实现函数
2009/08/02 Javascript
ajax异步刷新实现更新数据库
2012/12/03 Javascript
js触发select onchange事件的小技巧
2014/08/05 Javascript
js去除浏览器默认底图的方法
2015/06/08 Javascript
快速掌握Node.js事件驱动模型
2016/03/21 Javascript
BootStrap 智能表单实战系列(二)BootStrap支持的类型简介
2016/06/13 Javascript
基于jQuery插件jqzoom实现的图片放大镜效果示例
2017/01/23 Javascript
5分钟打造简易高效的webpack常用配置
2017/07/04 Javascript
使用JavaScript进行表单校验功能
2017/08/01 Javascript
详谈JS中数组的迭代方法和归并方法
2017/08/11 Javascript
node实现的爬虫功能示例
2018/05/04 Javascript
详解vue-router导航守卫
2019/01/19 Javascript
python连接MySQL、MongoDB、Redis、memcache等数据库的方法
2013/11/15 Python
Python开发实例分享bt种子爬虫程序和种子解析
2014/05/21 Python
浅谈python中列表、字符串、字典的常用操作
2017/09/19 Python
Python如何发布程序的详细教程
2018/10/09 Python
浅谈django rest jwt vue 跨域问题
2018/10/26 Python
Python如何获得百度统计API的数据并发送邮件示例代码
2019/01/27 Python
用python3 返回鼠标位置的实现方法(带界面)
2019/07/05 Python
python对数组进行排序,并输出排序后对应的索引值方式
2020/02/28 Python
10款最佳Python开发工具推荐,每一款都是神器
2020/10/15 Python
Pytorch实验常用代码段汇总
2020/11/19 Python
大学迎新标语
2014/06/26 职场文书
地质工程专业毕业生求职信
2014/08/08 职场文书
2014教师评职称工作总结
2014/11/10 职场文书
建筑质检员岗位职责
2015/04/08 职场文书
六一儿童节新闻稿
2015/07/17 职场文书
Java多条件判断场景中规则执行器的设计
2021/06/26 Java/Android
美国运营商 T-Mobile 以 117.83Mb/s 的速度排第一位
2022/04/21 数码科技