修复 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获取GY-85九轴模块信息示例
Dec 05 Python
Python表示矩阵的方法分析
May 26 Python
浅谈Python中的作用域规则和闭包
Mar 20 Python
在Python 中实现图片加框和加字的方法
Jan 26 Python
python使用 request 发送表单数据操作示例
Sep 25 Python
python-numpy-指数分布实例详解
Dec 07 Python
Python新手如何进行闭包时绑定变量操作
May 29 Python
Python selenium键盘鼠标事件实现过程详解
Jul 28 Python
通过实例简单了解python yield使用方法
Aug 06 Python
Python中三维坐标空间绘制的实现
Sep 22 Python
详解tensorflow之过拟合问题实战
Nov 01 Python
python语言中pandas字符串分割str.split()函数
Aug 05 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 高性能书写
2010/12/11 PHP
处理单名多值表单的详解
2013/06/08 PHP
解析mysql 表中的碎片产生原因以及清理
2013/06/22 PHP
深入理解PHP JSON数组与对象
2016/07/19 PHP
PHP中功能强大却很少使用的函数实例小结
2016/11/10 PHP
php计算给定日期所在周的开始日期和结束日期示例
2017/02/06 PHP
打开超链需要“确认”对话框的方法
2007/03/08 Javascript
详解new function(){}和function(){}() 区别分析
2008/03/22 Javascript
onbeforeunload与onunload事件异同点总结
2013/06/24 Javascript
自己实现ajax封装示例分享
2014/04/01 Javascript
javascript处理a标签超链接默认事件的方法
2015/06/29 Javascript
一些实用性较高的js方法
2016/04/19 Javascript
Javascript基础之数组的使用
2016/05/13 Javascript
JS实现title标题栏文字不间断滚动显示效果
2016/09/07 Javascript
巧用Vue.js+Vuex制作专门收藏微信公众号的app
2016/11/03 Javascript
JavaScript实现垂直滚动条效果
2017/01/18 Javascript
jq checkbox 的全选并ajax传参的实例
2017/04/01 Javascript
Javascript的console['']常用输入方法汇总
2018/04/26 Javascript
一个Vue视频媒体多段裁剪组件的实现示例
2018/08/09 Javascript
nodejs更新package.json中的dependencies依赖到最新版本的方法
2018/10/10 NodeJs
cordova+vue+webapp使用html5获取地理位置的方法
2019/07/06 Javascript
python中assert用法实例分析
2015/04/30 Python
Python Sqlite3以字典形式返回查询结果的实现方法
2016/10/03 Python
深入理解Django中内置的用户认证
2017/10/06 Python
Python+Turtle动态绘制一棵树实例分享
2018/01/16 Python
解决python 读取excel时 日期变成数字并加.0的问题
2019/10/08 Python
python opencv 实现对图像边缘扩充
2020/01/19 Python
python实现人脸签到系统
2020/04/13 Python
django 解决扩展自带User表遇到的问题
2020/05/14 Python
python3.8动态人脸识别的实现示例
2020/09/21 Python
科颜氏香港官方网店:Kiehl’s香港
2021/03/07 全球购物
入党自我评价优缺点
2014/01/25 职场文书
中国好声音华少广告词
2014/03/17 职场文书
严以用权学习心得体会
2016/01/12 职场文书
mongoDB数据库索引快速入门指南
2022/03/23 MongoDB
使用Python开发贪吃蛇游戏 SnakeGame
2022/04/30 Python