首頁  >  文章  >  後端開發  >  如何依日期範圍篩選 Django 查詢物件?

如何依日期範圍篩選 Django 查詢物件?

Patricia Arquette
Patricia Arquette原創
2024-11-04 00:27:03281瀏覽

How to Filter Django Query Objects by Date Range?

以日期範圍篩選 Django 查詢物件

使用 Django 模型時,依日期範圍篩選查詢物件是一項常見任務。為了實現這一點,您可以利用 Django 的內建日期範圍功能。

讓我們考慮一個類似於問題中提到的模型:

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

假設您需要過濾以下物件:屬於特定日期範圍,例如日期在2011 年1 月1 日到2011 年1 月31 日之間。以下是您可以執行的操作it:

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

此查詢使用 __range 查找來指定 Sample 物件的日期欄位應落在的日期範圍。

或者,如果您想按月過濾對象,您可以使用以下語法:

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

此查詢過濾日期為一月份的所有對象2011.

排除範圍結束

請注意,上述查詢包括範圍結束(即第一個範例中的2011 年 1 月 1 日及 2011 年 1 月 31 日)。如果您需要排除這些範圍結尾,可以使用__gt(大於)和__lt(小於)查找,如Bernhard Vallant 在答案編輯中所建議的那樣:

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

此查詢過濾器日期大於2011 年1 月1 日且小於2011 年1 月31 日的所有對象,有效排除範圍結束符。

以上是如何依日期範圍篩選 Django 查詢物件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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