4

datetime を使用してオブジェクトをその日にフィルター処理したいのですが、これを行う方法の例がどこにも見つかりません。

これは、たとえば、次のすべてのイベントをまとめるのに完全に機能します。

@login_required
def invoice_picker(request):
    """Grab a date from the URL and show all the invoicable deliveries for that day."""
    query = request.GET.get('q' , '2/9/1984')
    date = datetime
    date = datetime.strptime('7/14/2010', '%m/%d/%Y')
    date = date.strptime(query, '%m/%d/%Y')
    results = []
    if query:
        results = LaundryDelivery.objects.filter(end__gte=date)
    return render_to_response('invoicer.html', {
        'results' : results,
        'date' : date,
        'user' : request.user,
    })

しかし、__gte を削除すると、日付が 2010-06-22 00:00:00 ではなく 2010-06-22 04:04:00 の行に沿っているため、何も返されません。私も試しました:

 results = LaundryDelivery.objects.filter(end.date=date)

残念ながら、「キーワードを式にすることはできません」というエラーが表示されます。何か案は?

4

1 に答える 1

8

日時と日付を比較する良い方法はないと思います。1 つの方法は次のとおりです。

filter(end__year=date.year, end__month=date.month, end__day=date.day)

もう 1 つはrange、その日の最小時間と最大時間でルックアップを使用することです。

于 2010-07-27T06:30:46.873 に答える