2013-10-12 89 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对象与你正在寻找的时间相结合,但你不得不忽略在这种情况下的分钟数/秒,而我不能说我很确定如何做到这一点。不过这应该让你开始吧!