django-constance admin是否支持数据库后端?

时间:2016-05-10 16:27:05

标签: django django-models django-admin

我正在尝试设置管理员以显示要存储在数据库后端的设置(Postgres 9.5.0)。我在shell_plus中手动创建了值,如下所示:

在[1]中:来自constance.backends.database.models import Constance

在[2]中:first_record = Constance.objects.get(id = 1)

在[3]中:first_record 出[3]:

pg-admin正确显示了该条目,尽管django admin根本没有显示它。我为两个数据库运行了migrate命令(我有默认和产品数据库)但是记录仍未显示。当然,我可以强制向管理员注册,如下所示: admin.site.register(康斯坦斯) 但我的问题是,是否有必要?

1 个答案:

答案 0 :(得分:2)

是的,他们这样做。

您需要管理依赖项,但您只需使用next命令即可安装:

pip install "django-constance[database]"

此外,您还需要为settings.py添加一些其他设置:

CONSTANCE_BACKEND = 'constance.backends.database.DatabaseBackend'

INSTALLED_APPS = (
    # other apps
    'constance.backends.database',
)

#optional - in case you want specify table prefix

CONSTANCE_DATABASE_PREFIX = 'constance:myproject:'

然后,您需要通过运行命令python manage.py migrate database

来应用迁移

要在管理员中显示设置输入,您应在settings.py中指定它们。有各种类型的字段,您甚至可以使用CONSTANCE_ADDITIONAL_FIELDS参数添加自己的字段类型。

CONSTANCE_CONFIG = {
    'THE_ANSWER': (42, 'Answer to the Ultimate Question of Life, '
                       'The Universe, and Everything'),
}

您可以在文档page上阅读更多内容。

相关问题