我正在尝试检索仅包含日期编号的对象,其中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不能是表达式
我该怎么做?
答案 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())