class filter(filters.FilterSet):
filename = django_filters.CharFilter(name='filename', lookup_expr='contains')
state = django_filters.filters.ModelMultipleChoiceFilter(
name='state_id',
to_field_name ='state' ,
queryset=models.IngestionState.objects.all())
http://localhost :8000/ingestion-detail/?filename="{something}"&status=
Die obige URL liefert ein leeres Ergebnis.
Nur wenn status = {something} ist, erhalten wir das gewünschte Ergebnis. Dies gilt nur für ModelMultipleChoiceFilter
Nun, es ist schwierig, mit dem, was Sie gesagt haben, zu helfen.
'status' != 'state'
aber ich nehme an, das ist ein Tippfehler.
Versuchen Sie es mit from django_filters.constants import STRICTNESS
und setzen Sie die Meta-Option strict
auf STRICTNESS.RAISE_VALIDATION_ERROR
. Das sollte dir zumindest etwas sagen.
Andernfalls müssen Sie versuchen, etwas viel Spezifischeres zu identifizieren, bevor ich dies als Problem betrachten kann. Vielleicht passt StackOverflow besser zu Ihnen, wenn Sie nur Hilfe benötigen.
HI,Ich hatte das gleiche Problem, in dieser Situation, wie kann ich das leere Ergebnis beheben, wenn meine URL den Status = leer hatte, wenn ich den Status so gut wie möglich haben möchte?
from django_filters.constants import STRICTNESS
das zeigt mir einen Fehler namens ImportError: cannot import name 'STRICTNESS'
Hilfreichster Kommentar
from django_filters.constants import STRICTNESS
das zeigt mir einen Fehler namensImportError: cannot import name 'STRICTNESS'