開始日と終了日の両方がオプションである日付範囲でクエリセットをフィルター処理したいと考えています。具体的には、
if dt_from:
results = results.filter(date_modified__gte=dt_from)
if dt_until:
results = results.filter(date_modified__lte=dt_until)
ここでdt_from
、 とdt_until
はそれぞれdatetime.datetime
、datetime.date
、または のいずれかNone
です。ただし、複数のフィルターをチェーンする動作に関するドキュメントは非常に紛らわしく ( Django で複数の filter() をチェーンする を参照してください。これはバグですか?それらを AND するのではなく、フィルタします)。
上記のコードは私が望むものを達成しますか (つまり、2 つのフィルターの両方)、またはこれを行うべき別の方法はありますか?