首頁 >後端開發 >Python教學 >如何按日期範圍過濾 Django 物件?

如何按日期範圍過濾 Django 物件?

Susan Sarandon
Susan Sarandon原創
2024-11-04 12:53:29551瀏覽

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn