没有这样的table:wagtailcore_site

no such table: wagtailcore_site

我在 ubuntu 服务器上托管了两个网站,并且都安装了 postgresql,第一个运行正常,但第二个给我这个错误

no such table: wagtailcore_site Request Method: GET

Django Version: 2.2.10 Exception

Type: OperationalError Exception Value: no such table:

wagtailcore_site Exception

Location: /home/project2/.venv/lib/python3.7/site-packages/django/db/backends/sqlite3/base.py

in execute, line 383 Python

Executable: /home/project2/.venv/bin/python3.7m Python Version: 3.7.3

第一个网站的数据库设置:

    DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'project_one',
        'USER': 'project_one',
        'PASSWORD': '123',
        'HOST': '127.0.0.1',
        'PORT': '',
    }
}

第二个网站的数据库设置:

    DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'project_two',
        'USER': 'project_two',
        'PASSWORD': '123',
        'HOST': '127.0.0.1',
        'PORT': '',
    }
}

从错误看来 django 尝试 运行 sqllite 而不是 postgresql,我不知道为什么!

备注:

我认为问题可能与两个设置中的 HOSTPORT 设置有关,也许它们相互冲突? (我也尝试更改端口和主机但没有解决)

谢谢。

糟糕,我有两个网站的 gunicorn 文件,我正在为第一个网站而不是第二个网站重新启动 gunicorn。

也就是说上面的代码没有错误..问题只出现在重启gunicorn。

Django 3.2在集成wagtail时也会调用这个异常。 如果您在添加核心 url 之前没有进行迁移,您将收到此错误。

django.db.utils.OperationalError: 没有这样的 table: wagtailcore_site

如果您只是进行迁移,应该可以解决此问题