修复 Django migration 时遇到的问题解决
程序员文章站
2023-09-07 20:51:56
今天想给自己的 Blog 加点功能,顺便补上测试,然而第一步在创建测试数据库就过不了,我就尝试解决这个问题。
在跑 ./manage.py test 时,先会创建一个测试...
今天想给自己的 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 的顺序调到前面来,也没有用。于是只好启用 *。
原来是我的那个 App 的 Migration 的 dependencies 没有依赖 telegrambot,于是自然不会去找了。
于是把原来的,加了一行 dependency,再尝试 ./manage.py test,问题解决。
class Migration(migrations.Migration): dependencies = [ + ('telegrambot', '0001_initial'), ('powernews', '0004_applenews'), ]
总结:有些命令行工具执行出错时,不会有太多有用的输出信息,这时就可以尝试手动去执行一些操作。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
推荐阅读
-
修复 Django migration 时遇到的问题解决
-
Mysql导入导出时遇到的问题解决
-
django开发时遇到的跨域请求问题
-
PHP5 在调用 JAVA WebService 时遇到的各种问题解决方法_PHP教程
-
导入项目时遇到的plugin with id com.android.application not found问题解决方案
-
MySQL中日期比较时遇到的编码问题解决办法_MySQL
-
MySQL中日期比较时遇到的编码问题解决办法_MySQL
-
Mysql导入导出时遇到的问题解决
-
PHP5 在调用 JAVA WebService 时遇到的各种问题解决方法
-
vue resource post请求时遇到的问题解决办法