Skip to main content

pypaginate.adapters.django.search

Match-filter a QuerySet by a search spec across fields.

Keeps rows where any field matches the query via a case-insensitive lookup per spec.mode (contains / prefix / exact). This is an unranked match-filter; relevance ranking lives in the in-memory engine, not the database.

build_search_q

def build_search_q(spec: SearchSpec) -> Any

Build an OR-of-fields case-insensitive match Q (None when empty).

def apply_search(queryset: Any, spec: SearchSpec) -> Any

Apply a match-filter search to a QuerySet (no-op when empty).