背景:
开发后端使用DJANGO作apiserver,使用了django的多数据库模式。
今天从A电脑上传gitee后,在B电脑clone下来,pip安装好环境后提示
RuntimeError: Model class recom.models.Relations doesn’t declare an explicit app_label and isn’t in an application in INSTALLED_APPS.
解决方案:
使用多数据库模式应在meta中配置app_label,但是之前A电脑未配置app_label都能正常run,所以推测跟网上搜索提到的路径和配置问题应该不同
追朔代码出错路径是在导入路径时检查model错误,而我的model应该是没问题的,不然在A机器也不可能运行正常。
查看django文档中提到model可以通过makemigrations、migrate来保证运行结果一致。
其中makemigrations是检查本地model的更新和产生本地记录(类似于git中的commit操作)
migrate是提交本地记录应用于数据库(类似git中的push操作)
因此尝试执行python manage.py makemigrations ,再尝试运行,运行正常,至此问题解决。