python - Django 1.8 HstoreField 管理界面

标签 python django postgresql hstore django-1.8

新的Django 1.8提供了HstoreField。 我已经使用 HstoreField 数据扩展了用户模型

**#models.py**
from django.contrib.postgres.fields import HStoreField
from django.contrib.auth.models import AbstractUser


class Profile(AbstractUser):

    data = HStoreField(blank=True)

    def __unicode__(self):
        return self.email

**#admin.py**
from django.contrib import admin
from django.contrib.auth.admin import UserAdmin

@admin.register(Profile)
class ProfileAdmin(UserAdmin):
    pass

现在,我如何将 HstoreField 添加到我的管理界面?

最佳答案

确保 django.contrib.postgres 已添加到您安装的应用程序中:

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'django.contrib.postgres',
    'yourapp',
)

另请注意,根据 Django 文档,Psycopg2 2.5 or higher is required .

确认上述内容后,您应该能够在数据字段中输入以下内容:

{"a": "1", "b": "2"}

我在 PostGres 9.1 中遇到了一些问题,无法立即使用 HStore,因此您可能需要在数据库上运行以下命令:

创建扩展 hstore;

关于python - Django 1.8 HstoreField 管理界面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29476008/

相关文章:

Django REST框架: Get ID/URL during validation?

sql - 调整查询以更新每个用户的总和

python - 非负矩阵分解无法收敛

python - Django:如何声明项目范围的模板上下文处理器?

python - 我如何知道用户是否通过我的 python 脚本中的 ssh 连接到本地计算机?

python - 使用旧数据库时 Django MultipleObjectsReturned

python - 无法将自定义字段添加到 django-registration

windows - 对于 psql 在日语语言环境的 Windows 上产生可怕的乱码,是否有解决方法/修复?

postgresql - 如何更改postgresql中表的权限?

python - 如何从python中以前缀开头的列表中删除字符串