1

这发生在 Ubuntu 上的 Mezzanine 4.0.1 中,在 venv 中。Python 3.4.3

创建 Mezzanine 项目后,我将 settings.py 中的数据库连接设置更改为:

DATABASES = {
"default": {
    "ENGINE": "django.db.backends.postgresql_psycopg2",
    "NAME": "mezzaninedb",
    "USER": "mezzanine",
    "PASSWORD": "mezzaninepwd",
    "HOST": "localhost",
    "PORT": "5432",
}

}

我已经(在 Postgresql 中)创建了一个 Mezzanine 用户,密码为 mezzaninepwd 和数据库 mezzaninedb,并且我“GRANT ALL PRIVILEGES ON DATABASE mezzaninedb TO mezzanine;”

比,我跑:

python manage.py createdb

它在终端中显示它应该显示的所有内容,要求我创建用户、电子邮件、密码......完成后,我将“psql”放入 postgresql 并连接到 mezzaninedb,但在该(PostgreSQL)数据库中没有创建表但是,dev.db 是在“本地目录”中创建的,当我运行时

python manage.py runserver

我可以看到夹层 UI,但夹层使用的是 Sqlite。

即使我从 settings.py 中完全删除它也会发生这种情况

#DATABASES = {
#"default": {
#    "ENGINE": "django.db.backends.postgresql_psycopg2",
#    "NAME": "mezzaninedb",
#    "USER": "mezzanine",
#    "PASSWORD": "mezzaninepwd",
#    "HOST": "localhost",
#    "PORT": "5432",
#}
#}

我什至试图从 settings.py 中完全“从字面上删除”这一部分并运行

python manage.py createdb

它创建了所有表,但在 sqlite - dev.db 中。

因此,它从不创建 postgresql 表,但总是创建 sqlite db 和表,即使 DATABASES {...} 不存在。

我怀疑这可能是DJANGO的问题,所以我创建了django项目和django app,以及一些模型。在 settings.py 中使用相同的 DATABASE {...} 后,运行

python manage.py syncdb

表是在 POSTGRESQL 中创建的!!!

顺便提一下,我也试过了

python manage.py syncdb

在夹层中,它的行为与 createdb 相同 -没有在 PostgreSQL 中创建任何东西

这是已知的夹层问题还是我做错了什么?

4

0 回答 0