我在尝试迁移时知道为什么会出现此错误?
django.db.utils.ProgrammingError:relation" django_content_type"
我正在使用Django 1.8& PostgreSQL的
答案 0 :(得分:5)
迁移时,您需要使用'--fake-initial'选项;它过去是隐含的,但现在已经明确:
https://docs.djangoproject.com/en/1.8/ref/django-admin/#django-admin-option---fake-initial
引用:
祝你好运!此选项适用于首次运行迁移时使用 一个预先存在使用迁移的数据库。
答案 1 :(得分:3)
我和许多人一样,并不真正理解这个问题。我能够设计出适合我的解决方案。
./manage.py migrate auth
./manage.py migrate
./manage.py migrate
。答案 2 :(得分:1)
@ Josh的解决方案适用于我,并进行了以下更改。在第1步之前,我重新添加了缺少的列:
ALTER TABLE django_content_type ADD COLUMN name character varying(50) NOT NULL DEFAULT 'run migrate.py';
正在运行python manage.py migrate auth
会删除此列,因此可能会在migrate
的某些早期版本中进行一项或多项其他更改失败。
在步骤3中运行migrate
时,我添加了--fake-initial
标记:
python manage.py migrate --fake-initial
似乎一切都恢复正常。