我可以在一个月的某天订购吗?

时间:2011-07-20 22:52:59

标签: python django django-views django-queryset

我正在尝试创建一个按日期排序的出生日列表,我的查询集是:

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')

我知道我不能这样做,因为这不起作用,只是询问是否有办法(在视图中,在这种情况下不在模型中......不是我认为这很重要这里,只是说)?

谢谢你, 埃雷兹

1 个答案:

答案 0 :(得分:2)

您可以将日期提取为“额外”字段,然后对其进行排序,例如:

UserProfile.objects.select(extra={'birth_day': 'extract(day from birthDate)'}).order_by('-birth_day')

这应该至少适用于PostgreSQL。