ホームページ >バックエンド開発 >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>

範囲の終了を除外する:

指定された範囲の端を除外するには、Bernhard Vallant が編集で提案したように、gt (より大きい) フィルターと lt (より小さい) フィルターを使用することを検討してください:

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

以上がDjango オブジェクトを日付範囲でフィルターするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。