Skip to content

Implementation of localized model fields using PostgreSQL HStore fields.

License

Notifications You must be signed in to change notification settings

SectorLabs/django-localized-fields

Repository files navigation

Tests CircleCI
📝 License License
📦 PyPi PyPi
Django Versions 2.0, 2.1, 2.2, 3.0, 3.1, 3.2, 4.0, 4.1, 4.2, 5.0
Python Versions 3.6, 3.7, 3.8, 3.9, 3.10, 3.11
📖 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

Prerequisites

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

Getting started

  1. Clone the repository:

    λ git clone https://github.com/SectorLabs/django-localized-fields.git
    
  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 localized_fields --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 setup.py fix