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.
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.
Parameter
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
|
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“).