2011-12-30 8 views
0

"date from"と "date to"フィルタフィールドを表示するフィルタがdjango-adminにあります。問題は、「received_date」でフィルタリングされているフィールドがDateTimeフィールドであるのに対して、フィルタフィールドは「2011-10-01」の形式で日付を表示します。これは意図した動作です。時間に関係なく。しかし、現時点では、時間が足りないために結果を列挙しません。日付の時刻を指定せずにフィルタを動作させるにはどうすればよいですか?Django Datefield DateTimeフィールドを使用したフィルタ

答えて

0

指定された日付から新しいdatetimeを作成し、それをQuerysetのフィルタリングに使用します。 "from"(より大きいまたは等しい)フィルタでは、時間を深夜までハードコーディングします。 (以下)フィルタは真夜中前に1秒までの時間をハードコーディング「する」ために:あなたはミリ秒単位で心配している場合(

from datetime import datetime 

dt_from = datetime(d_from.year, d_from.month, d_from.day, 0, 0, 0) 

dt_to = datetime(d_to.year, d_to.month, d_to.day, 23, 59, 59) 

を、dt_to「次の日の真夜中」を作り、より」少ない操作を行います

+0

... 24時間タイムを追加して「翌日」になると、月の最終日を心配する必要はありません。 –

関連する問題