Skip to content

2ykwang/django-global-search

Repository files navigation

Django Global Search

PyPI Download Test codecov PyPI Python Versions Supported Django versions

A global search extension for Django Admin that allows searching across multiple models from a single page. Search through all registered models with permission handling and respect for existing search_fields configurations.

Documentation can be found at https://django-global-search.readthedocs.io/

Installation

Install using pip:

pip install django-global-search

Or using uv:

uv add django-global-search

Usage

Setup

# settings.py
INSTALLED_APPS = [
    'django.contrib.admin',
    'django_global_search',  # Add after admin
    # ... other apps
]

Adding a Navigation Button (Optional)

{% extends "admin/base_site.html" %}

{% block userlinks %}
    {{ block.super }}
    {% include 'global_search/button.html' %}
{% endblock %}

This adds a convenient "Global Search" button in the admin header.

Advanced Setup

If you're using a custom admin site class, you can explicitly inherit from the mixin:

# admin.py
from django.contrib.admin import AdminSite
from django_global_search.admin import GlobalSearchAdminSiteMixin

class MyAdminSite(GlobalSearchAdminSiteMixin, AdminSite):
    site_header = "My Custom Admin"

# Replace the default admin site
admin_site = MyAdminSite(name='myadmin')

Screenshots

Global Search Interface

Global Search Interface

Search across all models with permission-based filtering and model selection

Search Results

Search Results

Results grouped by app and model with direct links to detail and changelist views

Requirements

  • Python 3.9+
  • Django 4.2+

License

This project is licensed under the MIT License - see the LICENSE file for details.

Support

About

Global search for Django Admin, search across all registered models with permissions and search_fields support.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •