Introducción a Django creando un blog muy simple

Shell

La shell de Django es un intérprete de comandos que nos permite ejecutar código directamente en el backend, algo muy útil para hacer pruebas y consultas.

pipenv run python manage.py shell

Una vez dentro la podremos escribir las instrucciones que queramos siempre que sigamos una lógica.

Por ejemplo, si queremos consultar las entradas de la base de datos antes tendremos que importar el modelo Post y luego utilizar la sintaxis para hacer la consulta:

from blog.models import Post
Post.objects.all()

Esta instrucción objects.all() nos permite recuperar todos los registros que hay en la tabla de entradas y los almacena en una lista especial de Django llamada QuerySet.

También podemos recuperar el primer y último registro muy fácilmente:

Post.objects.first()
Post.objects.last()

O una entrada a partir de su identificador, un número automático que maneja Django internamente:

Post.objects.get(id=1)

Todo lo que estamos haciendo son consultas a la base de datos, pero se encuentran abstraidas gracias a la API de acceso al mapeador ORM que nos proporciona Django, donde cada registro se puede manejar como un objeto.

De hecho vamos a crear una entrada y a manipularla un poco:

post = Post.objects.create(
	title="Otra entrada", content="Texto de prueba")

Al ejecutar lo anterior tendremos nuestra entrada creada en la base de datos, podemos consultar el administrador, pero también la tendremos guardada en la variable post:

post

Podríamos editarla simplemente estableciendo el título como si fuera un objeto normal y corriente:

post.title = "Otro título diferente"

Eso sí, tendremos que llamar al método save() del objeto para guardar los cambios:

post.save()

Por último si quisiéramos borrar esta entrada que tenemos en la variable podemos hacer con el método delete():

post.delete()

Y para salir de la shell simplemente llamaremos la función quit() desde la terminal:

quit()

Como habéis visto hemos estado interactuando con la base de datos a través de objetos y método, una forma muy sencilla y cómoda de manejar nuestros registros.