Changelog
0.8.0 (2025-11-24)
- Add
--usingand--databaseoptions to the CLI to respectively specify which OpenSearch and database connection to use #87).
BREAKING CHANGES:
django_opensearch_dsl.documents.Document.get_querysetnow take an optionalaliasargument to specify which database connection to use.django_opensearch_dsl.documents.Document.get_indexing_querysetnow take an optionalaliasargument to specify which database connection to use.
0.7.0 (2025-04-11)
--refreshand--paralleloptions of the CLI now default to the respective value ofOPENSEARCH_DSL_AUTO_REFRESHandOPENSEARCH_DSL_AUTO_PARALLEL.- Implement
get_documents()forDocumentRegistry(#74), Contributed by gcarq. - Update supported versions of Python and Django (#75):
- Confirm support for Python 3.13.
- Confirm support for Django 5.1 and 5.2.
- Drop support for Django 3.2.
Contributed by Mariusz Felisiak
0.6.2 (2024-04-23)
- Fix
CelerySignalProcessorpreviously usingRealTimeSignalProcessor's method due to wrong indentation (#66), Contributed by jlariza. models.PositiveBigIntegerFieldis now automatically mapped toLongField(#67), Contributed by jlariza.
0.6.1 (2024-04-13)
- Multiple fixes to
CelerySignalProcessor(#62), Contributed by Jordan Hyatt and jlariza. - Correctly use
.delaywhen calling tasks. - Only initiate tasks when needed by checking beforehand if an instance is connected to a Document (directly or related)
- The tasks will only be created on transaction commit.
0.6.0 (2024-03-22)
- Add
mananage.py opensearch index updatesubcommand to update an existing index mappings (#52). - Add
CelerySignalProcessoras an alternative toRealTimeSignalProcessorto process signals asynchronously using Celery (#51). - Add
registry.get_models()andregistry.__contains__()methods (#48, Contributed by ghkdxofla - Taelim Hwang (Limy)). - When using the
opensearchcommand, any error now displays the raw OpenSearch response (#49). - Autosync and related model features are now properly documented (#53).
- Update the test matrix to work with the latest supported version of Python, Django, and OpenSearch. Also, add
isortandbanditto CI (#50).
0.5.2 (2024-01-11)
- Add the missing parameter
field_value_to_ignore=Nonetodjango_opensearch_dsl.fields.ListField.get_value_from_instance(#47, Contributed by ghkdxofla - Taelim Hwang (Limy)).
0.5.1 (2023-05-18)
- Change references from
opensearch-dsl-pytoopensearch-py.
This follow the deprecation notice on theopensearch-dsl-pyproject. Its features are now directly included inopensearch-py.
(#33, Contributed by Jacob Kausler).
0.5.0 (2022-11-19)
get_indexing_queryset()now order unordered QuerySet by their PK. (#29, Contributed by Cédric Raud).keep_orderargument ofdjango_opensearch_dsl.search.Search.to_querysetnow default toTrueto be in line with the documentation (#27).
0.4.1 (2022-08-16)
Document.update()method now take an optionalusingargument allowing to specify an alternate OpenSearch connection defined inOPENSEARCH_DSL.- Fix related document automatic indexation and deletion (Contributed by Colin Seifer).
- Add
pre-deleteback intoBaseSignalProcessor.handle_m2m_changed()to properly update the index on M2M interactions (Contributed by Colin Seifer).
0.4.0 (2022-08-04)
- Add support for related models. See Document Classes and Document Field Reference for more information (Contributed by Colin Seifer).
django-opensearch-dslnow only tests supported version of Python and Django (mainstream and LTS). This choice is made to:- Speed up development.
- Speed up tests.
- Reduce actions on github.
- Encourage people to update their stack to supported (thus safer) versions.
- Drop support for Python 3.6.
- Drop support for Django 2.1, 2.2, 3.1.
- Now supports Django 4.1.
- Now supports
opensearch-dsl>=2.0 <3.00.
0.3.0 (2022-06-22)
- Fixes internal links in documentation.
- Remove the need to declare a
TESTINGboolean insettings.py.
0.2.0 (2022-01-13)
- Restore auto-sync feature (still undocumented - Contributed by David Guillot)
- Add support to Django 4.0 (Contributed by David Guillot)
- Remove some python2 leftovers (Contributed by David Guillot)
0.1.2 (2021-12-14)
- Fixed 'Search.validate()'
0.1.0 (2021-12-11)
- Migrated to Opensearch
- Drop some feature such as auto-syncing signals and related models
- Replace
search_indexmanagement command withopensearch.
0.1.0 (2021-12-11)
- Migrated to Opensearch
- Drop some feature such as auto-syncing signals and related models
- Replace
search_indexmanagement command withopensearch.
Before fork from django-elasticsearch-dsl
7.1.4 (2020-07-05)
- Configure Elasticsearch _id dynamically from document (#272)
- Use chain.from_iterable in for performance improvement (#278)
- Handle case where SimpleLazyObject being treated as an Iterable (#255)
- Camelcase default value in management command (#254)
- Various updates and fixup in docs (#250, #276)
- Start testing against Python 3.8 (#266)
7.1.1 (2019-12-26)
- Adding detailed documentation and published to Read The Docs #222
- Resolve name resolution while delete, create index (#228)
- Added support for Django 3.0. (#230)
- Removing old Elasticsearc compatibility (#219)
- Drop StringField in favor of TextField.
7.1.0 (2019-10-29)
- Support for Django
DecimalField#141 - Indexing speedup by using
parallelindexing. #213. Now you can pass--parallelor setELASTICSEARCH_DSL_PARALLELin your settings to get indexing speed boost while indexing through management command. - Fixing name resolution in management command #206
- Small documentation fixes. #196
7.0.0 (2019-08-11)
- Support Elasticsearch 7.0 (See PR #176)
- Added order by to paginate queryset properly (See PR #153)
- Remove
standardtoken filter fromREADME.mdand test files - Various documentation fixes
6.4.2 (2019-07-26)
- Fix document importing path
- Update readme
6.4.1 (2019-06-14)
- The
DocTypeimport has changed toDocument
6.4.0 (2019-06-01)
- Support elasticsearch-dsl>6.3.0
- Class
Metahas changed to classDjango(See PR #136) - Add
register_documentdecorator to register a document (See PR #136) - Additional Bug fixing and others
0.5.1 (2018-11-07)
- Limit elastsearch-dsl to supported versions
0.5.0 (2018-04-22)
- Add Support for Elasticsearch 6 thanks to HansAdema
Breaking Change:
- Django string fields now point to ES text field by default.
- Nothing should change for ES 2.X but if you are using ES 5.X, you may need to rebuild and/or update some of your documents.
0.4.5 (2018-04-22)
- Fix prepare with related models when deleted (See PR #99)
- Fix unwanted calls to get_instances_from_related
- Fix for empty ArrayField (CBinyenya)
- Fix nested OneToOneField when related object doesn't exist (CBinyenya)
- Update elasticsearch-dsl minimal version
0.4.4 (2017-12-13)
- Fix to_queryset with es 5.0/5.1
0.4.3 (2017-12-12)
- Fix syncing of related objects when deleted
- Add django 2.0 support
0.4.2 (2017-11-27)
- Convert lazy string to string before serialization
- Readme update (arielpontes)
0.4.1 (2017-10-17)
- Update example app with get_instances_from_related
- Typo/grammar fixes
0.4.0 (2017-10-07)
- Add a method on the Search class to return a django queryset from an es result
- Add a queryset_pagination option to DocType.Meta for allow the pagination of big django querysets during the index populating
- Remove the call to iterator method for the django queryset
- Fix DocType inheritance. The DocType is store in the registry as a class and not anymore as an instance
0.3.0 (2017-10-01)
- Add support for resynching ES documents if related models are updated (HansAdema)
- Better management for django FileField and ImageField
- Fix some errors in the doc (barseghyanartur, diwu1989)
0.2.0 (2017-07-02)
- Replace simple model signals with easier to customise signal processors (barseghyanartur)
- Add options to disable automatic index refreshes (HansAdema)
- Support defining DocType indexes through Meta class (HansAdema)
- Add option to set default Index settings through Django config (HansAdema)
0.1.0 (2017-05-26)
- First release on PyPI.