我正在尝试做一个django查询,它应该给我生日周在n天内的用户。
我已经尝试使用__week运算符,但它没有按预期工作:
now = timezone.now().date()
first_day_of_next_week = (now + timedelta(days=(7 - now.weekday())))
if now + relativedelta(days=n_days) == first_day_of_next_week:
return qs.filter(birth_date__isnull=False, birth_date__week=first_day_of_next_week.strftime("%V"))
事实上,例如,如果用户出生于1997年6月24日,那么24/06与1997年的星期nbr和2023年的星期nbr不同,所以它给了我意想不到的结果。
你能帮我吗?
2条答案
按热度按时间ecr0jaav1#
试试这个
范围过滤器https://docs.djangoproject.com/en/4.2/ref/models/querysets/#range
它将获取当前周记录
xpcnnkqh2#
我终于找到了解决办法: