Filtrar por fechas en Django


Un tema común, ¿como filtrar por fechas?, usando Django se pueden hacer estas consultas de manera muy simple, por ejemplo si queremos buscar por un rango de fechas que nos de el usuario hacemos lo siguiente

Model.objects.filter(fecha__range=(f_inicial, f_cierre)

Donde f_inicial y f_cierre corresponden a los input text que defines en el formulario de búsqueda.

Ahora si lo que quieres es filtrar por día, tomado del server puedes hacer lo siguiente

 

hoy = date.today()

Model.objects.filter(fecha = hoy)

 

Lógicamente debes importar la librería datetime de python con el comando from datetime import *

Para hacer una búsqueda por mes y año, usando la librería datetime, podrías hacer lo siguiente

mes = datetime.now().month

Model.objects.filter(fecha__month = mes)

year = datetime.now().year

Model.objects.filter(fecha__year = year)

 

Espero que les sirvan para sus búsquedas en Django, saludos

Anuncios

3 comentarios en “Filtrar por fechas en Django

  1. I do consider all the ideas you’ve presented on your post. They’re really convincing and can certainly work. Still, the posts are very brief for novices. May just you please extend them a little from next time? Thanks for the post. bdfagedeadge

  2. Considera poner un igual después de range, esto funciona!!!
    Model.objects.filter(fecha__range=(f_inicial, f_cierre)

    Gracias por tu aporte, me ha sido de gran ayuda

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s