我正在尝试设置管理员以显示要存储在数据库后端的设置(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(康斯坦斯) 但我的问题是,是否有必要?
答案 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上阅读更多内容。