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