django按日期订购日期时间/从datetime提取日期

dem*_*mux 5 sql django datetime

我有一个带有日期时间字段的模型,我想显示今天当天查看次数最多的条目.

我想我可能尝试像dt_published__date那样从datetime字段中提取日期,但显然它不起作用.

popular = Entry.objects.filter(type='A', is_public=True).order_by('-dt_published__date', '-views', '-dt_written', 'headline')[0:5]
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

Man*_*dan 11

__dateDjango还不支持AFAIK 语法.有一打开此.

如果您的数据库具有提取日期部分的功能,那么您可以这样做:

popular = Entry.objects.filter(**conditions).extra(select = 
    {'custom_dt': 'to_date(dt_published)'}).order_by('-custom_dt')
Run Code Online (Sandbox Code Playgroud)

  • 实际上对于PostgresSQL来说,它是`Entry.objects.filter(**conditions).extra(select = {'custom_dt':'DATE(dt_published)'}).order_by(' - custom_dt')` (2认同)