jueves, 9 de junio de 2016

QuerySets con Python3

Los pasos para llegar a la consola donde vamos a ejecutar los querysets son los siguientes:
  1. Activar el entorno virtual: source appsEnv/bin/activate
  2. Llamar a la shell de python: python3.4 manage.py shell
  3. importar los modelos que queremos trabajar: from appejemplo.models import *
Ya con esto estaremos listos a ejecutar las sentencias que nos traeran la información solicitada.

  • Para consultar todos los registros de un modelo: >>> Post.objects.all()
  • Consultar un registro filtrandolo por una propiedad: me = User.objects.get(username='pepito')
  •  Consultar todos los registros que concuerden con una condición, la cual puede devolver uno o muchos registros: Post.objects.filter(author='pepito')
  •  Filtrar todos los registros que contengan una palabra: >>>Post.objects.filter(title__contains='Millonario')

 FECHAS

Ahora vamos a realizar operaciones con fechas.
  • Consultar todos los registros que tienen un campo tipo fecha en el pasado:
    • >>> from django.utils import timezone
    • >>> Post.objects.filter(published_date__lte=timezone.now())
la parte de lte= significa <= y la parte de gte= significa >=
  • Pare realizar varios filtros al mismo tiempo:
    • >>> list_movements = MovMotionAccount.objects.filter(motionAccountDate__lte='2016-04-30 23:59:59').filter(motionAccountDate__gte='2016-04-01 00:00:00')
  •  
 ORDENACIÓN
Ahora vamos a realizar consultas ordenando la información. 
  • Consultamos la información y ordenamos por un campo tipo fecha:
    • >>> Post.objects.order_by('created_date')
  • Invirtiendo el ordenamiento:
    • >>> Post.objects.order_by('-created_date')