0

日時フィールドでフィルター処理する必要がありますが、現在行っているように、日付だけでなく時間を取得する必要があります。日付だけで時間をカウントしません。

view.py

 @login_required(login_url='/InicieSesion')
    def adendum_Detalle(request, credencial, fecha):
    print 'subsecuente detalle'
    date_for_search = datetime.datetime.strptime(fecha, '%Y%m%d').date()
    print date_for_search
    formulario =   get_object_or_404(adendum,adendum_credencial=credencial,adendum_fecha=date_for_search)
    return render(request, 'adedetalle.html', {'formulario': formulario})

ここに日付を追加して (fecha, '%Y%m%d') 文字列に変換しようとしましたが、うまくいきませんでした。

4

1 に答える 1

0

、などを使用してdatetimefield__year、Django で日時の特定の部分をフィルタリングできます。datetimefield__day

日付と時間の両方でフィルタリングしようとしている場合は、次のことができます。

formulario =   get_object_or_404(adendum,adendum_credencial=credencial,
    adendum_fecha__year=date_for_search.year, 
    adendum_fecha__month=date_for_search.month, 
    adendum_fecha__day=date_for_search.day,
    adendum_fecha__hour=1)

おそらく、探している時間と組み合わせたdate_for_searchに基づいてdatetimeオブジェクトを作成することで、これを行うためのより良い方法があると思いますが、その場合は分/秒を無視する必要があり、私はそれを行う方法について完全に確信しているとは言えません。ただし、これで始められるはずです。

于 2013-10-12T19:24:49.040 に答える