Skip to content

baseplate-admin/django-hstore-widget

Repository files navigation

django-hstore-widget

Note

If you are new to hstore, please check django-hstore-field. The package builds on top of this to give an ergonomic implementation.

Downloads CI Pypi Badge pre-commit.ci status

FormField that properly renders HStoreField Data in django Admin based on djangoauts package and an updated fork of django-admin-hstore-widget

Requirements

  • Python 3.10 and up
  • Django 5.0 and up
  • Modern browsers ( Chrome 112+, Firefox 117+, Safari 16.5+ )

Using pip:

pip install django-hstore-widget

Installation

# settings.py

INSTALLED_APPS = [
    ...,
    'django_hstore_widget',
    ...
]

Usage

# yourmodel/forms.py
from django import forms
from django_hstore_widget.forms import HStoreFormField
from .models import Yourmodel

class MyModelAdminForm(forms.ModelForm):
    my_hstore_field = HStoreFormField()

    class Meta:
       model = Yourmodel

# yourmodel/admin.py
from django.contrib import admin
from .models import Yourmodel
from .forms import MyModelAdminForm


@admin.register(Yourmodel)
class YourmodelAdmin(admin.ModelAdmin):
    form = MyModelAdminForm

Result

Rendered result

Comparison

Vs JSONB

Feature HStoreField JSONField
Requires PostgreSQL extension
Flat key–value support
Nested structure support
Supports non-string values
Simple key-value admin UI
Easy validation
Advanced JSON queries
Powerful containment queries
Smaller storage footprint
Suitable for metadata fields
Suitable for structured documents

About

Human friendly HStoreWidget. Continual of django-admin-hstore-widget.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors