sql >> Databasteknik >  >> RDS >> Mysql

Hur man beräknar om åldern ligger inom intervallet från födelseåret, samtidigt som man hämtar födelseåret från Db i Django ORM

Du kanske vill använda relativedelta från dateutil , det är bekvämare att beräkna tiden:

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 är 25 år sedan, age_36 är 36 år sedan, frågar du bara folks födelsedagar infaller mellan 25 och 36 år sedan.

För lte och gte kolla django doc för detaljer.

Redigera :

Egentligen stöder django orm range fråga, så gör bara:

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



  1. Mysql:Programmatiskt ta bort alla främmande nycklar

  2. Skapa en tillfällig tabell i en SELECT-sats utan en separat CREATE TABLE

  3. Summan av flera MySQL-kolumner lagrade i en annan kolumn?

  4. MySQL C++ Connector får en sträng med SELECT-fråga