ホームページ > バックエンド開発 > Python チュートリアル > Django オブジェクトを日付範囲でフィルターするにはどうすればよいですか?

Django オブジェクトを日付範囲でフィルターするにはどうすればよいですか?

Susan Sarandon
リリース: 2024-11-04 12:53:29
オリジナル
533 人が閲覧しました

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート