Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment calculer si l'âge est dans la plage de l'année de naissance, tout en récupérant l'année de naissance de Db dans Django ORM

Vous voudrez peut-être utiliser relativedelta de dateutil , il est plus pratique de calculer le temps :

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 est il y a 25 ans, age_36 est il y a 36 ans, vous interrogez simplement les anniversaires des personnes qui se situent entre 25 et 36 ans.

Pour lte et gte vérifier doc Django pour plus de détails.

Modifier :

En fait, django orm prend en charge range requête, alors faites simplement :

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