我试图创建一个出生日期列表,按日期排序,我的查询集是:
birth_days = get_list_or_404(UserProfile.objects.order_by('-birthDate'), birthDate__month=datetime.datetime.now().month)
我怎样才能让列表按月中的一天排序,这样出生日期列表就会被排序,现在它是按所有日期排序的,所以如果有两个人在这个月出生,第一个人的日期是1980年7月20日,第二个人的日期是1970年7月17日,那么第二个人仍然会在列表中的第一个人之后。我不关心出生年份,只关心月份和日期....
我可以这样做吗?
order_by (-birthDate__day)
我知道我不能这样做,因为这是不工作,只是问是否有一种方法来做到这一点(在视图中,而不是在模型在这种情况下…不是说我觉得这很重要,只是说说而已)?
谢谢你,Erez
您可以提取日期作为"extra"字段,然后对其进行排序,例如:
UserProfile.objects.select(extra={'birth_day': 'extract(day from birthDate)'}).order_by('-birth_day')