Query Builder Filter

Die query_builder Komponente bietet eine visuelle Oberfläche zum Erstellen von Datenbankabfragen. Sie bietet mehr Flexibilität als einfache Filter, erfordert jedoch einen höheren Konfigurationsaufwand.

Der Query-Builder erhält eine Liste von Modellfeldern mit den für jedes Feld zulässigen Operationen. Benutzer können mithilfe von Kombinationen aus Feldern, Operationen und Werten komplexe Filter erstellen.

WCAG AA

Funktionen

  • Feldtypen: Text, Zahl, Datum, Datum/Uhrzeit, Uhrzeit, Boolescher Wert und Auswahl.

  • Operatoren: Konfigurierbare Operatoren pro Feld (gleich, enthält, größer als usw.).

  • Vordefinierte Werte: Optionale Dropdown-Werte für Auswahlfelder.

  • Dynamische Bedingungen: Filterbedingungen hinzufügen und entfernen.

Verwendung

Die Komponente wird über das query_builder Tag eingebunden.

{% load insight_tags %} {% query_builder config=query_builder_config %}

Parameter

Laden…

config (QueryBuilderConfig oder als kwargs oder als Kombination aus beidem)

Dataclass für die Komponentenkonfiguration.

Name Typ Beschreibung Standardwert Erforderlich
model_fields

Liste der Modellfelder mit möglichen Operatoren.

[] False
QueryBuilderConfig( model_fields=[ QueryBuilderFieldConfig( field="title", label="Title", type="text", operations={"iexact": "is exact", "icontains": "contains"}, ), QueryBuilderFieldConfig( field="created_at", label="Created At", type="date", operations={"gte": "after", "lte": "before"}, ), ], )

Barrierefreiheit

WCAG AA WCAG AAA
Status
N/A

WCAG AA (Grundlagen)

  • Das Formular enthält das Attribut aria-label='Query Builder', das seinen Zweck beschreibt.

  • Jeder Filter ist mit role='group' und aria-label='Filter N' umschlossen.

  • Alle Formularsteuerelemente verfügen über eindeutige IDs und zugehörige <label>-Elemente (sr-only).

  • Eine Live-Region gibt eine Benachrichtigung aus, wenn Filter hinzugefügt oder entfernt werden.

  • Die Schaltflächen zum Entfernen geben die Bezeichnung des Filters an (z. B. „Filter 2 entfernt“).

Verwandte Themen