Mysql
 sql >> Database >  >> RDS >> Mysql

Come calcolare se l'età è nell'intervallo dall'anno di nascita, mentre si recupera l'anno di nascita da Db in Django ORM

Potresti voler usare relativedelta da dateutil , è più comodo calcolare l'ora:

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 è 25 anni fa, age_36 sono 36 anni fa, basta interrogare i compleanni delle persone tra 25 e 36 anni fa.

Per lte e gte controlla django doc per i dettagli.

Modifica :

In realtà, django orm supporta range query, quindi basta fare:

Employees.objects.filter(birth_year__range=[age_36, age_25])