Django проблема: отношение "django_site" не существует - PullRequest
0 голосов
/ 14 января 2020

В последнее время я пытался добавить карту сайта на мой django сайт. Хотя это выглядело нормально на локальном сервере, когда оно заработало, оно вернуло следующую ошибку:

отношение "django_site" не существует LINE 1: ... "django_site". "Domain "," django_site "." name "FROM" django_si ...

Я пробовал много вещей, особенно уловки миграции, которые я видел в других местах, но это никогда не работало (хотя я возможно, сделал это неправильно, я новичок в этом и не очень легко). Я также получаю ту же ошибку при попытке загрузить страницу администратора.

Для информации, я использую Python 3.7.5 и Django версия 2.2.5.

Вот так выглядит мой файл настроек:

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.sites',
'django.contrib.sitemaps',
'myapp',]

SITE_ID = 1

MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'whitenoise.middleware.WhiteNoiseMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',]

А вот еще немного информации об ошибках:

Traceback:

File "/app/.heroku/python/lib/python3.7/site-packages/django/db/backends/utils.py" in _execute
  84.                 return self.cursor.execute(sql, params)

The above exception (relation "django_site" does not exist
LINE 1: ..."django_site"."domain", "django_site"."name" FROM "django_si...
                                                             ^
) was the direct cause of the following exception:

File "/app/.heroku/python/lib/python3.7/site-packages/django/core/handlers/exception.py" in inner
  34.             response = get_response(request)

File "/app/.heroku/python/lib/python3.7/site-packages/django/core/handlers/base.py" in _get_response
  115.                 response = self.process_exception_by_middleware(e, request)

File "/app/.heroku/python/lib/python3.7/site-packages/django/core/handlers/base.py" in _get_response
  113.                 response = wrapped_callback(request, *callback_args, **callback_kwargs)

File "/app/.heroku/python/lib/python3.7/site-packages/django/contrib/sitemaps/views.py" in inner
  16.         response = func(request, *args, **kwargs)

File "/app/.heroku/python/lib/python3.7/site-packages/django/contrib/sitemaps/views.py" in sitemap
  53.     req_site = get_current_site(request)

File "/app/.heroku/python/lib/python3.7/site-packages/django/contrib/sites/shortcuts.py" in get_current_site
  13.         return Site.objects.get_current(request)

File "/app/.heroku/python/lib/python3.7/site-packages/django/contrib/sites/models.py" in get_current
  58.             return self._get_site_by_id(site_id)

File "/app/.heroku/python/lib/python3.7/site-packages/django/contrib/sites/models.py" in _get_site_by_id
  30.             site = self.get(pk=site_id)

File "/app/.heroku/python/lib/python3.7/site-packages/django/db/models/manager.py" in manager_method
  82.                 return getattr(self.get_queryset(), name)(*args, **kwargs)

File "/app/.heroku/python/lib/python3.7/site-packages/django/db/models/query.py" in get
  402.         num = len(clone)

File "/app/.heroku/python/lib/python3.7/site-packages/django/db/models/query.py" in __len__
  256.         self._fetch_all()

File "/app/.heroku/python/lib/python3.7/site-packages/django/db/models/query.py" in _fetch_all
  1242.             self._result_cache = list(self._iterable_class(self))

File "/app/.heroku/python/lib/python3.7/site-packages/django/db/models/query.py" in __iter__
  55.         results = compiler.execute_sql(chunked_fetch=self.chunked_fetch, chunk_size=self.chunk_size)

File "/app/.heroku/python/lib/python3.7/site-packages/django/db/models/sql/compiler.py" in execute_sql
  1100.             cursor.execute(sql, params)

File "/app/.heroku/python/lib/python3.7/site-packages/django/db/backends/utils.py" in execute
  99.             return super().execute(sql, params)

File "/app/.heroku/python/lib/python3.7/site-packages/django/db/backends/utils.py" in execute
  67.         return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)

File "/app/.heroku/python/lib/python3.7/site-packages/django/db/backends/utils.py" in _execute_with_wrappers
  76.         return executor(sql, params, many, context)

File "/app/.heroku/python/lib/python3.7/site-packages/django/db/backends/utils.py" in _execute
  84.                 return self.cursor.execute(sql, params)

File "/app/.heroku/python/lib/python3.7/site-packages/django/db/utils.py" in __exit__
  89.                 raise dj_exc_value.with_traceback(traceback) from exc_value

File "/app/.heroku/python/lib/python3.7/site-packages/django/db/backends/utils.py" in _execute
  84.                 return self.cursor.execute(sql, params)

Exception Type: ProgrammingError at /sitemap.xml
Exception Value: relation "django_site" does not exist
LINE 1: ..."django_site"."domain", "django_site"."name" FROM "django_si...
                                                             ^

Кроме того, я попытался выполнить миграцию на всякий случай (поэтому удалил папку pycache в моей папке миграции, удалил базу данных, а затем запустил новую миграцию с помощью командной строки: python manage.py migrate). Казалось, все в порядке. Тем не менее я должен добавить, что моя папка миграции в основном пуста. Сохраните файл init .py и папку pycache, содержащую только файл с именем init . cpython -37.py c. Это нормально?

Пожалуйста, дайте мне знать, если вам нужна дополнительная информация.

Заранее спасибо!

1 Ответ

0 голосов
/ 03 февраля 2020

ОК, поэтому мне удалось найти причину проблемы. Я думал, что уже сделал это, но, очевидно, нет. Я столкнулся с подобной проблемой, когда нужно было только закомментировать «django .contrib.sites» в файле настроек. Это позволило загрузить как карту сайта, так и страницы администратора.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...