Не удается выполнить миграцию после установки django-allauth

Я следую документации Джанго-Аллаут по установке, но не могу manage.py migrate. Я включил 'django.contrib.sites' в свой INSTALLED_APPS и SITE_ID = 1, но получаю сообщение об ошибке

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

У меня Джанго 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',
)

Вы можете опубликовать свой файл settings.py INSTALLED_APPS. обычно это не дает ошибки при запуске manage.py migrate для этого.

Ankush 08.04.2019 09:51
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
1
417
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Попробуй это

python manage.py migrate sites
python manage.py migrate

В INSTALLED_APPS держите 'django.contrib.sites' наверху.

Ответ принят как подходящий

Так что получается, что раньше у меня был django.contrib.sites как INSTALLED_APP, поэтому миграция не удалась. Фикс нужно было просто запустить ./manage.py migrate --fake-initial

Другие вопросы по теме