Cargando



Django - Clases

En este tutorial veremos como construir las clases en Django de forma que podamos iniciar nuestras abstracciones de clases y obtener modelos sólidos de datos.


feb 16 2014 19:01
Avanzado
Gracias a la facilidad de uso de Django como framework, debido a sus múltiples características que nos ahorran energía y esfuerzo pudiera parecer que Django está hecho en algún metalenguaje, sin embargo, debemos saber que está hecho enteramente en Python, por lo que si somos nuevos en Django y en Python, es muy importante que conozcamos el lenguaje.

¿Qué significa que esté escrito en Python? Pues muy sencillo que podemos acceder a la librería estándar de Python en cualquier punto en nuestra aplicación, con lo que tendríamos mucho terreno cubierto mucho antes de iniciar.

¿Cómo funciona una clase?

Antes de construir nuestras clases debemos primero ver cómo funciona una clase dentro de Python; cuando el intérprete de Python recibe una definición de una clase, él lee su contenido como lo haría con cualquier código válido, sin embargo lo que hace luego es crear un nuevo namespace para la clase y ejecuta su contenido ahí, de esta manera escribe cualquier asignación de variables a ese nuevo namespace y todo lo que este dentro de la clase es enviado al namespace.

Veamos a continuación en la siguiente imagen un código donde podremos apreciar mejor lo que acabamos de explicar:

django_clases.jpg


En la ejecución anterior demostramos como se ejecuta el código dentro de la definición de la clase, haciendo que luego podamos acceder a las asignaciones de variables como si de atributos se tratase.

Sintaxis declarativa

Una vez que ya hemos visto y repasado aspectos básicos de Python, veamos como utilizaremos estos conceptos para nuestro beneficio dentro de Django; la sintaxis declarativa nos permite escribir código más sencillo y que por ende es muy fácil de leer, aparte que no necesitaremos realizar repeticiones, cumpliendo con la filosofía DRY de no repetirse a sí mismo.
Veamos en el siguiente código un ejemplo sencillo de como declaramos una clase en Django para generar un modelo.

class Contact(models.Model):
    """
    Contact information provided when sending messages to the owner of the site.
    """
    name = models.CharField(max_length=255)
    email = models.EmailField()

Como podemos ver, nuestra clase utiliza una clase base, en este caso la metaclase models.Model esto en la definición de nuestra clase:

class Contact(models.Model):

Lo que logramos con ello es heredar a nuestro modelo de alguna forma con todos los métodos y atributos básicos que necesitaremos.

Luego podremos acceder a los atributos de clase que requerimos para que nuestro modelo funcione, como podemos ver en el siguiente fragmento de código:

name = models.CharField(max_length=255)
email = models.EmailField()

En esas dos líneas estamos utilizando atributos de models de forma que podamos igualar los atributos de nuestra clase a sus atributos, así podremos lograr que nuestra clase ya posea una estructura que corresponda con lo esperado de un modelo en Django.

En la práctica estos atributos se utilizan para definir los campos en la base de datos y ya con la definición en los atributos podremos acceder a ellos ya que corresponden exactamente con las tablas creadas.

De esta forma, terminamos con el tutorial sobre la construcción de las clases en este robusto framework que es Django.

¿Te ayudó este Tutorial?


Sin comentarios, sé el primero!

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

X