{"categories":[{"label":"Python Modules","url":"https://skillfed.io/packages/category/software-development-libraries-python-modules/11"}],"enrichment":{"capability":"Indexes Django models into Elasticsearch, OpenSearch, or native database full-text search, then queries them through the Django ORM with support for filtering, faceting, and fuzzy search.","skillfed_tags":["search-indexing","orm-integration","elasticsearch"],"use_cases":["Build a product catalog search that works across PostgreSQL, Elasticsearch, or SQLite without rewriting query logic for each backend.","Add autocomplete and fuzzy search to a Django admin or user-facing search form with faceted results.","Index large text fields (articles, documentation, logs) and search them with phrase queries and field-specific relevance tuning.","Migrate search from database FTS to Elasticsearch for performance without changing application code.","Combine full-text search with Django filters and pagination in a single QuerySet chain."],"what_it_does":"Django ModelSearch is a search indexing layer for Django that lets you index your models into Elasticsearch, OpenSearch, or your existing database (PostgreSQL FTS, MySQL FTS, MariaDB FTS, SQLite FTS5) and then query them through the familiar Django ORM. Instead of writing raw search queries, you call `.search()` on a QuerySet just like you would `.filter()`, and the library translates that into the appropriate backend query.\n\nIt was built into Wagtail CMS since 2014 and extracted as a standalone package in March 2025. The library handles index synchronization via Django signals, supports zero-downtime index rebuilds using aliases, and integrates with Django's pagination and filtering ecosystem. You define searchable fields on your models with optional per-field boosting, filter fields for fast faceting, and can pull content from related models into the index.","worth_installing":"Yes. The package is actively maintained, has low install friction, carries a permissive license, and solves a real problem\u2014letting you write search queries in Django ORM syntax regardless of backend. It's production-ready (marked stable, extracted from Wagtail's proven codebase), has no known vulnerabilities, and supports modern Python versions. Install it if you need flexible, backend-agnostic search on Django models."},"id":"modelsearch","links":{"html":"https://skillfed.io/packages/modelsearch","md":"https://skillfed.io/packages/modelsearch.md","pypi":"https://pypi.org/project/modelsearch/"},"maintenance":{"status":"active"},"meta":{"latest_release":"2026-08-11","license_spdx":"BSD-3-Clause","license_treatment":"permissive","name":"modelsearch","python_support":"supports_current","summary":"A library for indexing Django models with Elasicsearch, OpenSearch or database and searching them with the Django ORM."},"popularity":{"monthly_downloads":534200,"position":6137,"tier":"top_15000"},"security":{"n_vulnerabilities":0},"version":"1.3.2"}
