Translates Django model fields in a JSONField
using a registration approach.
- Uses one PostgreSQL
jsonb
-field per model. (django.contrib.postgres.JSONField
for Django<3.1,django.db.models.JSONField
for Django>=3.1) - Django 2.2, 3.0, 3.1 (with their supported python versions)
- PostgreSQL >= 9.5 and Psycopg2 >= 2.5.4.
- Available on pypi
- Documentation
tox
Running the tests only for the current environment, use make test
Some concepts and code come from https://github.com/deschler/django-modeltranslation, which is in turn inspired by https://github.com/zmathew/django-linguo
We started this solution at Zostera because we did not like:
- The way django-modeltranslation adds one field per language (and thus requires a migration when adding a language);
- The unpredictability of the original field.
Since JSONB
is supported by Postgres now, we developed this approach.