ホームページ >バックエンド開発 >Python チュートリアル >Django オブジェクトを日付範囲でフィルターするにはどうすればよいですか?
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>
範囲の終了を除外する:
指定された範囲の端を除外するには、Bernhard Vallant が編集で提案したように、gt (より大きい) フィルターと lt (より小さい) フィルターを使用することを検討してください:
<code class="python">Sample.objects.filter(date__gt="2011-01-01", date__lt="2011-01-31")</code>
以上がDjango オブジェクトを日付範囲でフィルターするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。