我正在尝试创建一个按日期排序的出生日列表,我的查询集是:
birth_days = get_list_or_404(UserProfile.objects.order_by('-birthDate'), birthDate__month=datetime.datetime.now().month)
我如何获得按月份排序的列表,以便订购出生日列表,现在它按所有日期排序,所以如果两个人本月有一个出生日,那么1个人日期就是让说20/7/1980和人2日期是1970年7月17日,人2仍然在列表中的人1之后。我不关心出生年份,只关注月份和月份......
我可以按顺序执行以下操作:
ORDER_BY( ' - birthDate__day')
我知道我不能这样做,因为这不起作用,只是询问是否有办法(在视图中,在这种情况下不在模型中......不是我认为这很重要这里,只是说)?
谢谢你, 埃雷兹
答案 0 :(得分:2)
您可以将日期提取为“额外”字段,然后对其进行排序,例如:
UserProfile.objects.select(extra={'birth_day': 'extract(day from birthDate)'}).order_by('-birth_day')
这应该至少适用于PostgreSQL。