web-dev-qa-db-ja.com

django日付の範囲で日時でフィルタリングする

「created_at」フィールドを持つモデルがあり、日付のリストがあります。だから、私は日付範囲で作成されたすべてのモデルを取得したいと思います。どうやって ?

日時と日付を次のように簡単に比較できることを知っています。

queryset.filter(created_at__startswith=date)

しかし、私には日付の範囲があるので、どうやって?
詳細についてはお知らせください。

11
user2139745

range lookupを使用できます。最小の日付と大きい日付を見つけて、次のように適用します。

queryset.filter(created_at__range=(start_date, end_date))
18
Aamir Adnan

range を使用できます。

first_date = datetime.date(2005, 1, 1)
last_date = datetime.date(2005, 3, 31)
queryset.filter(created_at__range=(first_date, last_date))
9
JamesO

__gte(以上)および__lte(以下)を使用できます。例えば:

queryset.filter(created_at__gte=datetime.date.today())
9
Simeon Visser

date および range フィールド検索を組み合わせることができます。

queryset.filter(created_at__date__range=(start_date, end_date))
2
Ali Shamakhi