Implementation of localized model fields using PostgreSQL HStore fields.

django, localized, language, models, fields, postgres, hstore, i18n
pip install django-localized-fields==6.6


Tests CircleCI
📝 License License
📦 PyPi PyPi
Django Versions 2.0, 2.1, 2.2, 3.0, 3.1, 3.2
Python Versions 3.6, 3.7, 3.8, 3.9
📖 Documentation Read The Docs
⚠️ Upgrade Upgrade fom v5.x
🏁 Installation Installation Guide

django-localized-fields is an implementation of a field class for Django models that allows the field's value to be set in multiple languages. It does this by utilizing the hstore type (PostgreSQL specific), which is available as models.HStoreField since Django 1.10.

⚠️ This README is for v6. See the v5.x branch for v5.x.

Working with the code


  • PostgreSQL 10 or newer.
  • Django 2.0 or newer.
  • Python 3.6 or newer.

Getting started

  1. Clone the repository:

    λ git clone
  2. Create a virtual environment:

    λ cd django-localized-fields
    λ virtualenv env
    λ source env/bin/activate
  3. Create a postgres user for use in tests (skip if your default user is a postgres superuser):

    λ createuser --superuser psqlextra --pwprompt
    λ export DATABASE_URL=postgres://localized_fields:<password>@localhost/localized_fields

    Hint: if you're using virtualenvwrapper, you might find it beneficial to put the export line in $VIRTUAL_ENV/bin/postactivate so that it's always available when using this virtualenv.

  4. Install the development/test dependencies:

    λ pip install ".[test]" ".[analysis]"
  5. Run the tests:

    λ tox
  6. Auto-format code, sort imports and auto-fix linting errors:

    λ python fix