ValueError: Related model u'app.model' cannot be resolved when adding admin and custom user in existing app

问题描述 投票:0回答:1

我有一个现有的应用程序,它有很多迁移但没有用户表。我正在寻找添加 django 管理员和自定义用户。我跑的时候打

Related model u'myapp.model' cannot be resolved
manage.py migrate

Operations to perform:
  Apply all migrations: admin, auth, contenttypes, myapp, sessions
Running migrations:
  Applying myapp.0001_initial... OK
  Applying contenttypes.0001_initial... OK
  Applying admin.0001_initial...Traceback (most recent call last):
  <redacted>
  ValueError: Related model 'myapp.user' cannot be resolved

为什么会这样,我该如何解决?

python django django-admin django-migrations
1个回答
0
投票

在添加自定义用户的迁移中,添加:

run_before = [
    ('admin', '__first__'),
]

Django admin的迁移依赖于第一次迁移所以在

admin.0001_initial
中,它的依赖是('myapp', 'first')

不幸的是,由于这是一个旧应用程序,

myapp
的第一次迁移没有添加用户表。因此,迁移框架运行
myapp.0001_initial
,然后运行
admin.0001_initial
,此时没有用户表。

我想 django 可以用

__first__
替换
__latest__
但我可以看到这会如何引入一大堆其他问题。我想我坚持手动指定
run_before

© www.soinside.com 2019 - 2024. All rights reserved.