Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como calcular se a idade está no intervalo do ano de nascimento, enquanto busca o ano de nascimento do Db no Django ORM


Você pode querer usar relativedelta de dateutil , é mais conveniente calcular o tempo:
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 há 25 anos, age_36 é de 36 anos atrás, basta consultar os aniversários das pessoas que caem entre 25 e 36 anos atrás.

Para lte e gte verifique django doc para detalhes.

Editar :

Na verdade, o django orm suporta range consulta, então apenas faça:
Employees.objects.filter(birth_year__range=[age_36, age_25])