基于开始日期仅使用日期日期获取对象

时间:2017-02-14 10:57:45

标签: python date object

我正在尝试检索仅包含日期编号的对象,其中day是包含日期编号的变量,例如1,2,3,4 ... 29,30,31。(我使用python与django web框架)。所以我有一个start_date字段,它是一个DateField,我想搜索在start_date中获取特定日期的对象。

这就是我想要做的事情:

holiday_object = Holiday.objects.get(start_date.day=day)

我不能做start_date.day = day ...

  

SyntaxError:keyword不能是表达式

我该怎么做?

3 个答案:

答案 0 :(得分:1)

start_date.day是一个Python表达式,它尝试在名称为day的任何对象上查找属性start_date。正如错误消息所示,您不能将表达式用作函数调用的关键字。

此处的正确语法为Holiday.objects.get(start_date__day=day) - 但要注意,这将返回Holiday天匹配的所有start_date条记录,无论年份和月份 。请注意这是你想要的......

答案 1 :(得分:0)

因为我有当前月份和当前年份,所以我将日期格式化如下,然后进行搜索

__getitem__

这很好用!

答案 2 :(得分:0)

试试这个..

Post.objects.filter(published_date__lte=timezone.now())