2013-10-12 93 views
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}) 

,我想在這裏添加日期(出生日期, '%Y%M%d')將其轉換爲字符串,但沒有奏效。

+2

您能否重新說明您想要做的事情?我不確定你的意思,但我需要這個小時,而不僅僅是日期。你是說你需要按日期和時間過濾,只需要幾小時,或者什麼?而當你指的是過濾器時,你真的認爲Django的'.filter'是爲查詢集返回多個對象,或者'.get'就像你在這裏用來獲取單個對象嗎? – Joseph

回答

0

可以使用datetimefield__yeardatetimefield__day,在Django的日期時間的特定部分過濾等

如果您正在試圖通過日期和時間來過濾,你可以這樣做:

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對象與你正在尋找的時間相結合,但你不得不忽略在這種情況下的分鐘數/秒,而我不能說我很確定如何做到這一點。不過這應該讓你開始吧!