安装 django-allauth 后无法迁移

Can't migrate after installation of django-allauth

我正在按照 django-allauth 的文档进行安装,但我无法 manage.py migrate。我在我的 INSTALLED_APPSSITE_ID = 1 中包含 'django.contrib.sites',但我收到错误

django.db.utils.ProgrammingError: relation "django_site" already exists

我是 运行 Django 2.1.5.

我找不到关于 "django_site" already exists 的任何信息,只有 "django_site" does not exist

我在安装的应用程序中有什么,不包括内部应用程序:

INSTALLED_APPS = (
    'authtools',
    'lot',
    'bootstrap4',
    'storages',
    'oauth2_provider',
    'bootstrap_pagination',
    'dal',
    'cloudinary',
    'django_extensions',
    'django_filters',
    'reversion',
    'constance',
    'constance.backends.database',
    'rest_framework',
    'django_gravatar',
    'messages_extends',
    'cq',
    'futon',
    'memoize',
    'jam',
    'drf_aggregates',
    'batch_requests',
    'webpack_loader',
    'django_prometheus',

    # Core
    'django.contrib.sites',
    'django.contrib.postgres',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'django.contrib.humanize',

    # Channels
    'channels',
    'channels_redis',

    # allauth
    'allauth',
    'allauth.account',
    'allauth.socialaccount',
    'allauth.socialaccount.providers.google',
)

试试这个

python manage.py migrate sites
python manage.py migrate

在 INSTALLED_APPS 中保持 'django.contrib.sites' 在顶部。

所以原来我之前有django.contrib.sites作为INSTALLED_APP,所以迁移失败了。修复只是 运行 ./manage.py migrate --fake-initial