relativedelta
を使用することをお勧めします dateutil
から 、時間を計算する方が便利です:
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年前、age_36
は36年前ですが、25〜36年前の人々の誕生日をクエリするだけです。
lte
の場合 およびgte
djangodoc
を確認してください 詳細については。
編集 :
実際、djangoormはrange
をサポートしています クエリを実行するだけです:
Employees.objects.filter(birth_year__range=[age_36, age_25])