django-modeltrans change log¶
## In development
## 0.9.0 (2025-10-13) - Support Python 3.9, 3.10, 3.11, 3.12, 3.13 and Django 4.2, 5.1, 5.2 and main (#129). - Support Django 6.0 and PostgreSQL 14, 15, 16, 17, 18, drop Python 3.9 support (#132)
## 0.8.0 (2024-07-02)
- Add JSONField support (#119) refs: #118 by @jacobwegner
- Add MODELTRANS_DEFAULT_LANGUAGE setting (#117) by @jacobwegner
- Fix OperationalError under Django 5+ (#121) by @julianwachholz
- Test using PostgreSQL 14 for django master (#122)
- Drop Django 3.2 and 4.1 from the build matrix, add support for Django 5.0 and Django master, python 3.12 (#112, #105)
- Fix blank fields trying to insert NULL (#110) by @julianwachholz
- Fix translated form labels using current language (#108) by @julianwachholz
- Update Django versions and CI link in README and documentation, remove import shims (#95) by @browniebroke
## 0.7.5 (2023-08-03)
- Fix crash with limit_choices_to (#100) fixes: #94
## 0.7.4 (2023-04-03) - Add support for Django 4.2
## 0.7.3 (2022-05-25)
- Revert: Use TranslationModelForm to implement ActiveLanguageMixin (#86)
## 0.7.2 (2021-10-21)
- Use TranslationModelForm to implement ActiveLanguageMixin (#80)
- Add support for django 4.0 (#78)
- ## 0.7.1 (2021-07-21)
Add translations for NL, DE and FR
Remove translation strings in example and tests
- ## 0.7.0 (2021-06-30)
Add
TranslationModelForm
- ## 0.6.0 (2021-04-07)
Add support for Django==3.2
- ## 0.5.2 (and 0.5.1) (2021-01-12)
Adjust imports to remove deprecation warnings with django==3.1.* #65
- ## 0.5.0 (2020-11-23)
Add per-record fallback feature #63
- ## 0.4.0 (2019-11-22)
Drop python 2, Django 1.11 and Django 2.0 support #56
Add option for
i18nmodel fields inheritance #51Fix patching managers of models inheriting from an abstract models #50
- ## 0.3.4 (2019-01-15)
Fix exception on nullable i18n field #49
- ## 0.3.3 (2018-07-19)
Add instruction to remove
virtual_fields=Trueto migration guide, fixes #45Use
AppConfigto compute path to app dir, fixes #46Do not copy empty fields into i18n field, fixes #47
- ## 0.3.2 (2018-07-18)
Removed
encodingkwarg toopen()insetup.pyto fix python 2.7 install.
- ## 0.3.1 (2018-07-16)
Added
long_descriptiontosetup.py, no functional changes.
- ## 0.3.0 (2018-07-15)
Adopted [black](https://github.com/ambv/black) code style.
Removed auto-adding indexes, as it was unpredictable. You must add the
GinIndexmanually like described in the documentation on performance.Support dict for
required_languagesargument toTranslationField, to allow more fine-grained mapping of field names to required languages.ActiveLanguageMixindoes not use the<field>_i18nversion of the field, but rather the virtual field with the current active language. This makes sure no fallback values are accidentally saved for another language.
- ## 0.2.2 (2018-03-13)
Hide original field with
ActiveLanguageMixin.Raise an
ValueErroron accessing translated fields on a model fetched withdefer('i18n').do not accidentally add
i18nto __dict__ in Model.createImprove handling of explicit PK’s and expression rewriting code.
Add help_text to virtual fields with language=None.
- ## 0.2.1 (2018-01-24)
Dropped support for Django 1.9 and 1.10.
Used
ugettext_lazyrather thanugettextto fix admin header translation [#32](https://github.com/zostera/django-modeltrans/pull/32)Removed default value
FalseforField.editable, to allow using the translated version of a field in aModelForm.
- ## 0.2.0 (2017-11-13)
No annotations are made while ordering anymore, instead, expressions are passed onto the original
order_by()method.Any translated fields used in
Model.Meta.orderingis transformed into the correct expression with django 2.0 and later (fixes #25).django.contrib.postgres.GinIndexis added to thei18ncolumn if it’s supported by the django version used (1.11 and later). It can be disabled with the settingMODELTRANS_CREATE_GIN.The migration generated from
./manage.py i18n_makemigrationsused to move the data and add a GIN index. This is split into two commands:/manage.py i18n_makemigrationsand/manage.py i18n_make_indexes.Added support for
values(**expressions)`with references to translated fields.Added support for translated values in
annotate()
- ## 0.1.2 (2017-10-23)
Ensure a dynamic mixed
MultilingualQuerySetcan be pickled.Add basic support for
Funcinorder_by()
- ## 0.1.1 (2017-10-23)
Allow adding
MultilingualManager()as a manager to objects without translations to allow lookups of translated content through those managers.
- ## 0.1.0 (2017-10-23)
Use proper alias in subqueries, fixes #23.
Support lookups on and ordering by related translated fields (
filter(category__name_nl='Vogels')), fixes #13.Use
KeyTextTransform()rather thanRawSQL()to access keys in theJSONField. For Django 1.9 and 1.10 the Django 1.11 version is used.
- ## 0.0.8 (2017-10-19)
Check if
MODELTRANS_AVAILABLE_LANGUAGESonly contains strings.Make sure
settings.LANGUAGE_CODEis never returned fromconf.get_available_languages()
- ## 0.0.7 (2017-09-04)
Cleaned up the settings used by django-modeltrans [#19](https://github.com/zostera/django-modeltrans/pull/19). This might be a breaking change, depending on your configuration.
AVAILABLE_LANGUAGESis now renamed toMODELTRANS_AVAILABLE_LANGUAGESand defaults to the language codes in thedjango
LANGUAGESsetting.
DEFAULT_LANGUAGEis removed, instead, django-modeltrans uses the djangoLANGUAGE_CODEsetting.
Added per-language configurable fallback using the
MODELTRANS_FALLBACKsetting.
- ## 0.0.6 (2017-08-29)
Also fall back to
DEFAULT_LANGUAGEif the value for a key in the translations dict is falsy.
- ## 0.0.5 (2017-07-26)
Removed registration in favor of adding the
TranslationFieldto a model you need to translated.Created documentation.
- ## 0.0.4 (2017-05-19)
Improve robustness of rewriting lookups in QuerySets
- ## 0.0.3 (2017-05-18)
Add the
ginindex in the data migration.Added tests for the migration procedure.