Django 1.8 HstoreField管理界面

时间:2015-04-06 17:14:05

标签: 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添加到我的管理界面?

1 个答案:

答案 0 :(得分:2)

确保已将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

确认上述内容后,您应该可以在data字段中输入以下内容:

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

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

CREATE EXTENSION hstore;