Нет такой таблицы, как django_site

Я следую документам django-disqus для использования в моем проекте. Я установил его в своих настройках с другими необходимыми настройками (API key и short name). Но когда я пытаюсь запустить эти команды:

>>> from django.contrib.sites.models import Site
>>> Site.objects.all()

Я получаю сообщение об ошибке:

OperationalError: нет такой таблицы: django_site

Я уже установил django.contrib.admin в свои настройки и использую его в своем проекте. Итак, что мне не хватает?


person Robin    schedule 16.06.2015    source источник


Ответы (2)


Убедитесь, что вы добавили 'django.contrib.sites' к INSTALLED_APPS, затем запустите migrate, чтобы создать нужную таблицу.

python manage.py migrate
person Alasdair    schedule 16.06.2015
comment
Да, это было так. Спасибо. - person Robin; 16.06.2015
comment
У меня все еще есть одна проблема. Когда я захожу на страницу, она выдает мне эту ошибку: You're using the Django "sites framework" without having set the SITE_ID setting. Куда добавить SITE_ID? Помогите мне, пожалуйста. - person Robin; 16.06.2015
comment
В настройках.py.см. здесь для полных инструкций. - person Alasdair; 16.06.2015
comment
Это не сработало для меня. Я получаю эту ошибку с manage.py test, хотя у меня есть django.contrib.sites в моем INSTALLED_APPS. - person Cerin; 30.09.2016
comment
@Cerin, это звучит как несвязанная проблема. Поскольку вы запускаете тесты, таблица, вероятно, отсутствует в тестовой базе данных в вашем случае. - person Alasdair; 01.10.2016

Для меня это работает, только если я выполняю миграцию до начала использования приложения Site. Я должен удалить все импорты в коде, а затем сделать миграцию/миграцию. После этого я начинаю использовать приложение Site.

person Tanon    schedule 06.04.2018