以日期範圍篩選 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中文網其他相關文章!