0

私はジャンゴ1.5を使用しています。ORM を使用してデータベースからデータをフェッチする汎用関数を作成しました。現在、この関数に辞書を渡してデータをフィルタリングしています。以下のコードを参照してください

objTable.objects.values(*listArg).filter(**dictFilter)

これはうまくいきます。今、テーブルの 1 つに日時フィールドがあります。そして、これを日付と比較する必要があるため、以下のようなクエリが必要です

where DATE(start_date)<= '2013-08-08'

現在、日付が以下かどうかを確認するために、次のような辞書を渡します

{'start_date__lte':datetime.date.today()}

「start_date」は日時フィールドであるため、「2013-08-07 00:00:00」のような値を格納します。このフィールドをフォーマットしてから、以下を使用するにはどうすればよいですか?

4

3 に答える 3

0

'2013-08-08' のような文字列を使用しないでください。代わりに Python の日付オブジェクトを使用してください。次のような方法で文字列を日付に変換できます。

import datetime

{'start_date__lte': datetime.datetime.strptime('2013-08-08', '%Y-%m-%d').date()}
于 2013-08-09T06:23:45.473 に答える
0

datetime.combineを使用してオブジェクトdatetimeから生成します。date

{'start_date__lte': datetime.datetime.combine(datetime.date.today(), datetime.time())}
于 2013-08-09T06:44:53.560 に答える