【问题标题】:Django 1.8 HstoreField admin interfaceDjango 1.8 HstoreField 管理界面
【发布时间】:2015-06-11 03:07:29
【问题描述】:

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

【问题讨论】:

    标签: python django postgresql hstore django-1.8


    【解决方案1】:

    确保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;

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-08
      • 1970-01-01
      • 1970-01-01
      • 2018-06-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-17
      相关资源
      最近更新 更多