我可以在一个月中的某一天进行 order_by 吗?

发布于 2024-11-25 02:42:05 字数 529 浏览 0 评论 0原文

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

birth_days = get_list_or_404(UserProfile.objects.order_by('-birthDate'), birthDate__month=datetime.datetime.now().month)

如何获取按月中的日期排序的列表,以便生日列表将被排序,现在它是按所有的排序的日期,因此,如果两个人本月都有生日,并且人 1 的日期是 20/7/1980,人 2 的日期是 17/7/1970,则人 2 仍将在列表中的人 1 之后。我不关心出生年份,只关心月份和月份中的某一天……

我可以按如下方式执行 in order_by 操作:

order_by('-birthDate__day')

我知道我不能这样做,因为这不起作用,只是询问是否有办法做到这一点(在视图中,而不是在本例中的模型中......并不是我认为这在这里很重要,只是说)?

谢谢你, 埃雷兹

I am trying to create a list of birth days, ordered by the dates, my query set is:

birth_days = get_list_or_404(UserProfile.objects.order_by('-birthDate'), birthDate__month=datetime.datetime.now().month)

How can i get the list ordered by the day in month so the birth days list will be ordered, right now it is ordered by all the date, so if two people has a birth day this month and person 1 date is lets say 20/7/1980 and person 2 date is 17/7/1970, person 2 will still be after person 1 in the list. I don't care about the year of birth, just the month and the day in month....

Can i do the in order_by something like this:

order_by('-birthDate__day')

I know i can't do that because this isn't working, just asking if there is a way to do it (in the view, not in the model in this case...not that I think it matters over here, just saying)?

Thank you,
Erez

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

千纸鹤 2024-12-02 02:42:05

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

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

这至少应该适用于 PostgreSQL。

You can extract the day as an "extra" field and then sort on that, for example:

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

This should work with PostgreSQL at least.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文