django-filtreret-formen er en form, der kan have pr-felt queryset filtre declaratively defineret.
Installation
I dit virtualenv Brug pip installere django-filteredform.
Du behøver ikke at installere den i dine settings.INSTALLED_APPS, da det ikke giver nogen modeller eller skabeloner, kun formularer.
Anvendelse
Deklarativ måde at definere filtre på felter på en django model formular:
fra Django import- formularer
fra people.models import Person
fra filtered_form.forms import FilteringForm
klasse PersonAdminForm (FilteringForm):
& Nbsp; klasse Meta:
& Nbsp; model = Person
& Nbsp; instance_filters = {
& Nbsp; "enheder«: »company.units '
& Nbsp;}
& Nbsp; filtre = {
& Nbsp; »enheder«: models.Q (is_active = true),
& Nbsp; "colours__in ': [' rød ',' blå ',' grønne ']
& Nbsp;}
instance_filters
instance_filters er ting der giver mulighed for relationelle filtre, der skal anvendes.
For eksempel, hvis du har en tredobbelt modeller, person, enhed og Company, og enhver person og enhed har en fremmed nøgle til en virksomhed, kan du bruge en instans filter for nemt kun vælge den tilhørende virksomhedens enheder en queryset når du får vist en person.
Alternativt kan du levere en queryset metode (der ikke kræver argumenter), for mere filtrering:
instance_filters = {
& nbsp; "enheder«: »company.units.active '
}
plain filtre
En mere traditionel filter struktur, der giver dig mulighed for at levere en Q objekt eller en dict af nøgleværdipar, som vil blive videregivet til .filter () på queryset.
Du kan ganske let skyde dig selv i foden, hvis dine filter nøgler er ikke gyldige argumenter for en filterfunktion på denne queryset.
FormSets
Du kan enten oprette en formular ved hjælp af denne metode, og videregive det til din formset klasse eller fabrikken dengang. Eller du kan have en formset klasse baseret på filtered_form.forms.FilteredFormSet, som også vil sætte queryset værdier op på den tomme formular korrekt, hvilket er meget nyttigt, hvis du bruger dynamiske formularer.
Hvad er nyt i denne udgivelse:.
- Forbedre dokumentation
- Tillad for en konverterbar i værdien af en instance_filter.
- mulighed for en dict i værdien af et filter.
Krav :
- Python
- Django
Kommentarer ikke fundet