ProgrammingError:relation" django_session"不存在

时间:2018-05-15 09:09:21

标签: python django postgresql

将数据库从sqlite更改为postgresql后出现此错误。我已完成所有设置更改:

这是我的设置:

DATABASES = {
    'default': {
        'ENGINE': "django.db.backends.postgresql_psycopg2",
        'NAME': "postr1",
        'USER': "zorgan",
        'PASSWORD': config('DB_PASSWORD'),
        'HOST': "localhost",
        'PORT': '',
    }
}

以及执行makemigrationsmigrations这些都是成功的。所以我能够成功启动我的本地服务器:

System check identified no issues (0 silenced).
May 15, 2018 - 08:59:39
Django version 1.11.8, using settings 'draft1.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

然而,当我访问该网站时,它会返回此错误:

ProgrammingError at /news/
relation "django_session" does not exist
LINE 1: ...ession_data", "django_session"."expire_date" FROM "django_se...

知道问题是什么吗?

2 个答案:

答案 0 :(得分:5)

尝试fake migrate为零。

您的迁移历史记录显示已经创建了sessions表,但您没有真正的表。

所以在下面

python manage.py migrate --fake sessions zero
# then your sessions migrate will be
python manage.py showmigrations
sessions
 [ ] 0001_initial
# then migrate with --fake-initial again
python manage.py migrate --fake-initial

然后再试一次。

答案 1 :(得分:0)

我正在使用django-v-3

这是解决此问题的答案?

1。 python manage.py migration --fake

2。 python manage.py migration --fake-initial

3。然后编写python manage.py runserver

享受

如果遇到问题,请使用python manage.py帮助。希望您能找到解决方案。