【发布时间】:2016-04-18 18:26:19
【问题描述】:
我有一个由 id、姓名和出生年份组成的模型。我想查询这个模型以获取名称,使年龄在一个范围之间。
目前,我尝试的是
queryset= Employees.objects.all()
对于每个名字我计算年龄:
now = datetime.datetime.now()
age=now.year-q.birth_year
ids=[]
if 25<age<36 :
ids.append(q.id)
然后, 我用 id 再次查询 Employees.objects.filter(id__in=ids)
我可以在一个查询中完成所有这些吗?
Employees.objects.filter(**Calculate age and compare if it is in the range)
范围可以是动态的。我有两个变量 minAge 和 maxAge 的范围。
任何帮助。
【问题讨论】:
-
哥们,你把
year放在relativedelta对象上,应该是age_from = (today - relativedelta(years=25)).year。
标签: python mysql django django-orm