Django 1.8迁移 - 关系"django_content_type"已经存在

ada*_*ale 5 django postgresql django-1.8

我在尝试迁移时知道为什么会出现此错误?

django.db.utils.ProgrammingError:关系"django_content_type"

我正在使用Django 1.8和PostgreSql

And*_*ker 6

这对我有用:

  1. ./manage.py migrate auth --fake-initial(这会引发错误但忽略它)

  2. ./manage.py migrate --fake-initial


Fli*_*rPA 5

迁移时,您将需要使用'--fake-initial'选项; 它过去是隐含的,但现在已经明确:

https://docs.djangoproject.com/en/1.8/ref/django-admin/#django-admin-option---fake-initial

报价:

此选项适用于首次针对预先存在使用迁移的数据库运行迁移时使用.

祝好运!

  • 感谢您的帮助 @FlipperPA 但迁移仍然没有发生。现在我看到:`django.db.utils.ProgrammingError: 关系“django_content_type”的列“name”不存在`。有任何想法吗?是否只是手动创建它的问题? (2认同)
  • 我不确定问题究竟是什么,但在Django 1.8中,ContentType上的"name"字段已成为属性.这导致我们在开发中迁移到1.8时遇到问题,而有些人仍在使用1.7.https://docs.djangoproject.com/en/1.8/ref/contrib/contenttypes/#the-contenttype-model希望这可能有助于指明您正确的方向? (2认同)

Jos*_*osh 5

我和很多人一样,并不真正理解这个问题。我能够设计出适合我的解决方案。

  1. 注释掉所有自定义安装的应用程序。所以,你只有 Django 的东西。
  2. 仅迁移身份验证: ./manage.py migrate auth
  3. 迁移其他所有内容: ./manage.py migrate
  4. 撤消步骤 1。
  5. 迁移您的所有应用程序:./manage.py migrate.

祝你好运!