Możesz użyć relativedelta
z dateutil
, wygodniej jest obliczyć czas:
import datetime
from dateutil.relativedelta import relativedelta
today = datetime.date.today()
age_25 = (today - relativedelta(years=25)).year
age_36 = (today - relativedelta(years=36)).year
Employees.objects.filter(birth_year__lte=age_25, birth_year__gte=36)
age_25
ma 25 lat, age_36
jest 36 lat temu, wystarczy zapytać, czy data urodzin ludzi przypada między 25 a 36 lat temu.
Dla lte
i gte
sprawdź django doc
po szczegóły.
Edytuj :
Właściwie django orm obsługuje range
zapytanie, więc po prostu zrób:
Employees.objects.filter(birth_year__range=[age_36, age_25])