Filtro Por Fechas En Django - Filtrar listas por fechas con Django 2

Filtro Por Fechas En Django - Filtrar listas por fechas con Django 2

En este articulo hablamos sobre como hacer filtros sobre una tabla de base de datos, en especifico los filtros con fechas.

Filtro Por Fechas En Django - Filtrar listas por fechas con Django 2

Es probable que hayas llegado a este artículo por el Curso Básico de django 2 en Udemy que es gratuito; pero si no es asi, te pongo en contexto.

Supongamos que estamos desarrollando una web de notas, una web donde registramos notas de los cursos que vamos llevando, y en es necesario crear una interfaz que nos permita filtrar las notas registradas en un rango de fechas, (Fecha_inicio, Fecha_fin). Tendré en cuenta que ya se conoce la teoría básica de Django (Urls, Aplicaciones, vistas, modelos). *** si no lo comprendes nada de esto te recomiendo revisar este curso.

Bien hablemos directamente de cómo se hace las consultas con fechas en la ORM de Django, casi todo en Django es muy sencillo por tanto para realizar operaciones con fechas en Django también es muy sencillo, veamos los siguientes casos:

Consideremos que el modelo que tiene registradas las notas es Note  esta asu vez tiene un atributo fecha que representa la fecha de registro:

Consulta para notas registradas en la fecha=”fecha_en_consulta”:

consulta = Note.objects.filter(

              fecha=fecha_en_consulta

)

 

Consulta para notas registradas después de la fecha=”fecha_en_consulta”  (Mayor que)

consulta = Note.objects.filter(

             fecha__gt=fecha_en_consulta

)

Consulta para notas registradas antes de la fecha=”fecha_en_consulta” (Menor que)

consulta = Note.objects.filter(

          fecha__lt=fecha_en_consulta

)

Consulta para fechas registradas entre dos fechas, “fecha_inicio, fecha_fin”

consulta = Note.objects.filter(

          fecha__lt=fecha_fin,

         fecha__gt=fecha_inicio

)

 

# Con esta consulta es como si diriamos: listar todas las notas que sean menor a “fecha_fin” y mayores a “fecha_inicio”

Con estas simples sentencias podrás realizar las consultas sobre fechas en Django (lt=Menor Que y gt=Mayor Que), recuerda que si quieres utilizar (Mayor o igual Que, Menor o igual Que) bastará con agregar una “e” en la sentencias ejemplo:

consulta = Note.objects.filter(

             fecha__lte=fecha_en_consulta,

            fecha__gte=fecha_en_consulta

)

Otra forma de hacer esto es utilizando la sentencia range, un ejemplo seria de esta forma:

consulta = Note.objects.filter(

            fecha__range=(fecha_inicio, fecha_fin)

)

Déjanos tu correo y entérate de mas de estos artículos: