【发布时间】:2015-09-08 00:00:56
【问题描述】:
我有 2 个 django 应用程序,即 main 和 authtools。当我跑步时
python manage.py 迁移
,我得到一个 CircularDependencyError:
raise CircularDependencyError(", ".join("%s.%s" % n for n in cycle))
django.db.migrations.graph.CircularDependencyError: main.0001_initial, authtools.0001_initial
在我的设置文件中,我将 AUTH_USER_MODEL 定义为:AUTH_USER_MODEL = 'authtools.User'。创建的迁移文件如下所示:
对于 authtools 应用程序,它将依赖项显示为:
dependencies = [
('main', '__first__'),
('auth', '0001_initial'),
]
对于主应用程序,depanncies 显示为:
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
]
可能出了什么问题?
【问题讨论】:
-
文档说:Django 中的模型相互依赖可能会变得非常复杂,压缩可能会导致迁移无法运行; 然后您必须手动解决循环依赖循环,例如暴露于the documentation
标签: python django django-models django-migrations