/ / jak łączyć filtry w Django - python, django, filter

jak łączyć filtry w Django - python, django, filtr

Mam ten kod

 session_inicio = django_filters.Filter(lookup_type = "gte",
label = "session_inicio",
name="session_inicio")

I chciałbym dołączyć inny warunek do mojego zapytania ...

session_end = django_filters.Filter(lookup_type = "lte",
label = "session_end",
name="session_end")

aby mieć coś takiego:

rangedates = session_inicio || session_end

Czy można zrobić coś takiego?

Odpowiedzi:

0 dla odpowiedzi № 1

Nie wierzę, że normalny obiekt QuerySet obsługuje te operatory, ale

możesz dynamicznie budować słownik kwargs i przekazać to za pomocą **

dynamic_lookup_dict = {}

if condition:
dynamic_lookup_dict["session_inicio__gte"] = "avalue"
elif other_condition:
dynamic_lookup_dict["session_inicio__lte"] = "avalue"

django_filters.filter(**dynamic_lookup_dict)