Ответ 1
Если вы изменили базу данных, вы должны создать базу данных для новой базы данных.
Используйте команду manage.py migrate
. (или manage.py syncdb
, если вы использовали его для старой базы данных).
Я начал разрабатывать базовое веб-приложение Django. Все было нормально, пока я не установил Psycopg2
для моей базы данных, которую я создал в PstgreSql
. Теперь, когда я пытаюсь открыть любую страницу на моем сайте, она выдает ошибку ProgrammingError: relation "django_session" does not exist
.
Request Method: GET
Request URL: http://127.0.0.1:8000/login/
Django Version: 1.7
Exception Type: ProgrammingError
Exception Value:
relation "django_session" does not exist
LINE 1: ...ession_data", "django_session"."expire_date" FROM "django_se...
^
Exception Location: /home/alex/.virtualenvs/startDjango/local/lib/python2.7/site-packages/django/db/backends/utils.py in execute, line 65
Python Executable: /home/alex/.virtualenvs/startDjango/bin/python
Это моя настройка базы данных в Setting.py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'myDB',
'USER': 'alex',
'PASSWORD': 'mypassword',
'HOST': '127.0.0.1',
'PORT': '5432',
}
}
Я развиваюсь в virtualenvs
Любая идея, как это исправить? Благодаря
Если вы изменили базу данных, вы должны создать базу данных для новой базы данных.
Используйте команду manage.py migrate
. (или manage.py syncdb
, если вы использовали его для старой базы данных).
В качестве альтернативы вы можете перенести только приложение сессий, если вы уже запустили миграцию и все еще получаете ошибку
python manage.py migrate sessions
"Если вы измените базу данных, вы должны создать базу данных для новой базы данных.
Используйте команду manage.py migrate. (или manage.py syncdb, если вы использовали его для старой базы данных). "
Это прекрасно работает для моего развертывания в Docker.