使用Django在两个日期之间进行选择

Jef*_*rty 109 python django

我希望通过Django进行日期选择.

我知道如何使用原始SQL很容易地做到这一点,但是如何使用Django ORM实现这一点?

这是我想在我的查询中添加30天之间的日期:

start_date = datetime.datetime.now() + datetime.timedelta(-30)
context[self.varname] = self.model._default_manager.filter(
    current_issue__isnull=True
    ).live().order_by('-created_at')
Run Code Online (Sandbox Code Playgroud)

Dan*_*man 218

使用__range运营商:

...filter(current_issue__isnull=True, created_at__range=(start_date, end_date))
Run Code Online (Sandbox Code Playgroud)


suh*_*lvs 6

如果您使用的是DateTimeField,则使用日期进行过滤将不会\xe2\x80\x99 包含最后一天的项目。

\n\n

您需要将值转换为日期:

\n\n
...filter(created_at__date__range=(start_date, end_date))\n
Run Code Online (Sandbox Code Playgroud)\n