修复 Django migration 时遇到的问题解决
今天想给自己的 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'), ]
总结:有些命令行工具执行出错时,不会有太多有用的输出信息,这时就可以尝试手动去执行一些操作。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
解决Django数据库makemigrations有变化但是migrate时未变动问题
写models.py时缺少了一个 verbose_name,导致数据库出现问题,整了很久,摸索出重新建立数据库的方法: 首先删除每个app中的migrations中的除了init.py的文件,在数据库中清空所有的表,然后执行migrate,这时会自动生成系统默认的那些表,然后执行makemigrations,再执行migrate 如果只是众多应用中的一个出了问题的话,删除与之相关的表,然后进入django_migrations表中,将相应的app那项记录删除,然后再执行 makemigratio
-
修复 Django migration 时遇到的问题解决
今天想给自己的 Blog 加点功能,顺便补上测试,然而第一步在创建测试数据库就过不了,我就尝试解决这个问题. 在跑 ./manage.py test 时,先会创建一个测试用的数据库,这时我遇到了一个问题: ValueError: Related model 'telegrambot.User' cannot be resolved 这个错误是指,相关的 Model telegrambot.User 无法解析,这是怎么回事? 然后因为 ./manage.py test 根本没有打印出其他有用的信息
-
关于Python 多重继承时metaclass conflict问题解决与原理探究
目录 背景 什么是metaclass(元类) 类比普通class与metaclass 自定义与使用metaclass metaclass confict(元类冲突)的清晰含义 解决方案 参考 背景 最近有一个需求需要自定义一个多继承abc.ABC与django.contrib.admin.ModelAdmin两个父类的抽象子类,方便不同模块复用大部分代码,同时强制必须实现所有抽象方法,没想按想当然的写法实现多继承时,居然报错metaclass conflict: In [1]: import a
-
利用ASP.NET MVC+Bootstrap搭建个人博客之修复UEditor编辑时Bug(四)
我的个人博客站在使用百度富文本编辑器UEditor修改文章时,遇到了一些问题,(不知是bug,还是我没有配置好).但总算找到了解决方法,在此记录下来. 小站首页文章列表显示为(显示去除HTML标签后的前600个字符): 具体在www.zynblog.com 遇到的问题: 正常来讲,进入文章修改页,只需将UEditor对应的textarea的value设置为文章Content就行了: $('#editor').val('@Html.Raw(this.Model.Contents)'); 最开始我就
-
JQuery发送ajax请求时中文乱码问题解决
这篇文章主要介绍了JQuery发送ajax请求时中文乱码问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 先排除项目故障: 1.web.xml中是否配置了字符拦截器 <filter> <filter-name>encodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter
-
基于pip install django失败时的解决方法
使用pip安装Django时报错,先是: C:\Users\admin>pip install django Collecting django Retrying (Retry(total=4, connect=None, read=None, redirect=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='pypi.python.org', port=443): Read ti
-
json_decode 索引为数字时自动排序问题解决方法
json_encode 索引为数字,自动排序问题 使用son_encode 给前端返回数据,结果顺序不对,经debug调试,发现是json_encode 函数的问题: { "code": 0, "msg": "请求成功!", "data": { "2018-10": { "17": [ { "id": 730, "uid": "11820
-
django序列化时使用外键的真实值操作
展示: 一般情况下序列化得到的外键的内容只是id: ... { fields: { uat_date: "2015-07-25", statu: "CG", name: "慢赢优化", tester: [ 1 ], product_manager: 1, module: [ 2, 3 ], project: 1, plan_version: 1, publish_date: "2015-07-25", actual_versi
-
详解重置Django migration的常见方式
根据django官方文档建议,开发过程中会把生成的migrations提交到git中.由于各种原因,会有一些场景需要重置migrations,故总结一些常用场景及解决办法. 场景一 不考虑数据库数据,可以完全清空数据库. 步骤: 删除所有migrations find . -path "*/migrations/*.py" -not -name "__init__.py" -delete find . -path "*/migrations/*.pyc&q
-
Django启动时找不到mysqlclient问题解决方案
在使用Django2.0 并配置了mysql作为数据库时,启动报错: 报错1:找不到mysqlclient django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module. Did you install mysqlclient? 解决方法 项目(settings.py同级)目录中__init__.py中添加 import pymysql pymysql.install_as_MySQLdb() 报错2:版本检查
-
SQLite字符串比较时的大小写问题解决方法
大部分数据库在进行字符串比较的时候,对大小写是不敏感的.但是,最近使用SQLite的时候,却发现它的情况恰好相反. 假设表User的结构和值如下: UserName 1 User1 执行下面的SQL语句: 复制代码 代码如下: SELECT * FROM [User] WHERE UserName = 'user1' 结果是没有找到任何记录.明显地,SQLite在进行字符串比较的时候,默认对大小写是敏感的.这会对应用程序造成不良的影响.比如,用户在输入用户名的时候必须严格按照大小写输入,这是
随机推荐
- PHP正则删除HTML代码中宽高样式的方法
- 荐书|您有一份JavaScript书单待签收
- MongoDB安全及身份认证(实例讲解)
- 注册表导出管理员密码文件
- JavaScript 字符串乘法
- 深入分析C++派生类中的保护成员继承
- C#多线程之Thread中Thread.Join()函数用法分析
- China.com网站开发规范第1/2页
- CSS使用学习总结
- Java关于IO流的全面介绍
- JS加jquery简单实现标签元素的显示或隐藏
- C#中属性和成员变量的区别说明
- jquery 最简单的属性菜单
- 通过修改referer下载文件的方法
- js的写法基础分析
- 全面解读PHP的Yii框架中的日志功能
- 阿里云centos 7下搭建shadowsocks的教程
- 解析argc argv在php中的应用
- Android开发中使用外部应用获取SD卡状态的方法
- 实战基本的Linux sed命令示例代码