首页 > 后端开发 > Python教程 > 如何按日期范围过滤 Django 对象?

如何按日期范围过滤 Django 对象?

Susan Sarandon
发布: 2024-11-04 12:53:29
原创
532 人浏览过

How to Filter Django Objects by a Date Range?

在 Django 中按日期范围过滤查询对象

使用包含日期字段的 Django 模型时,通常需要根据日期范围过滤对象在指定的日期范围内。这允许您仅检索特定时间段内的对象。

问题:

考虑以下带有日期字段的模型:

<code class="python">class Sample(models.Model):
    date = fields.DateField(auto_now=False)</code>
登录后复制

如何过滤此模型的对象,使其仅包含日期在 2011 年 1 月 1 日到 2011 年 1 月 31 日之间的对象?

解决方案:

要按日期范围过滤对象,请将范围过滤器与您要过滤的字段结合使用:

<code class="python">Sample.objects.filter(date__range=["2011-01-01", "2011-01-31"])</code>
登录后复制

按月过滤的替代方法:

如果您只需要根据月份过滤对象,可以使用以下语法:

<code class="python">Sample.objects.filter(date__year='2011',
                      date__month='01')</code>
登录后复制

排除范围结束:

如果您希望排除指定的范围末端,请考虑使用 gt(大于)和 lt(小于)过滤器,如 Bernhard Vallant 在编辑中建议的那样:

<code class="python">Sample.objects.filter(date__gt="2011-01-01",
                      date__lt="2011-01-31")</code>
登录后复制

以上是如何按日期范围过滤 Django 对象?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板