sql >> Base de Datos >  >> RDS >> Mysql

Cómo calcular si la edad está en el rango desde el año de nacimiento, al obtener el año de nacimiento de Db en Django ORM

Es posible que desee utilizar relativedelta de dateutil , es más conveniente calcular el tiempo:

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 hace 25 años, age_36 es hace 36 años, solo consulta los cumpleaños de las personas entre hace 25 y 36 años.

Para lte y gte comprobar django doc para más detalles.

Editar :

En realidad, django orm admite range consulta, así que solo haz:

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