Cargando



Django - Métodos para los Campos del Modelo

En este tutorial veremos algunos métodos comunes para los campos de nuestros modelos que podemos implementar en la construcción de nuestras aplicaciones en Django.


mar 02 2014 05:32
Avanzado
Existen en Django una cantidad de métodos que pueden aplicarse a los campos de un modelo, dotando de esta forma a dicho de funcionalidades ya establecidas y que no tendríamos que volver a construir.

Esto nos facilita la implementación de nuestras aplicaciones, además de la manipulación de nuestro modelo, estos métodos no aplican a la totalidad de los tipos de campos sin embargo, son pocas las excepciones, además existen algunos métodos que solo son de uso interno del framework, sin embargo, al conocerlos podemos implementarlos en una aplicación que los requieran.

Métodos comunes de los campos

A continuación explicaremos una cantidad de métodos que podemos utilizar con los campos del modelo, hacemos notar que no son todos los métodos que existen en Django, sin embargo estos son algunos de los más utilizados:

clean(value, instance): Este método valida que el valor dado es apropiado para el modelo y para el objeto al cual está asignado. Internamente procesa una lista de validaciones que fueron inicializadas al momento de crear el objeto y se instanció el campo, retorna un valor correcto si todo es válido, de lo contrario levantará una excepción.

En la siguiente imagen veremos un pequeño ejemplo de cómo funciona este método:


Como vemos al ingresar un valor vacío que es diferente de un espacio en blanco nos arroja una excepción con el mensaje por defecto de la clase forms.

db_type(connection): retorna la definición de columnas de la base de datos necesaria para almacenar la data en los campos. Típicamente se utiliza internamente en el framework, sin embargo, puede tener usos al momento de querer acceder directamente a la base de datos utilizando alguna otra herramienta.

formfield(): Retorna un formulario de campos basados en los tipos de datos de los campos junto su verbose name, es decir, el nombre con el cual se describe el campo, de esta forma podemos hacer su inclusión en un formulario que pueda ver el usuario. Opcionalmente toma como argumento el form_class que coloca por defecto el formulario más apropiado para los campos. Este método es llamado automáticamente por Django cuando se construye un formulario, sin embargo puede llamarse de manera manual según nuestros requerimientos en la aplicación.

get_internal_type(): Retorna una cadena que representa en un alto nivel el tipo de datos que contiene el campo, esto normalmente se utiliza en el backend para hacer un mapeo de cada base de datos, de esta forma se determina la columna a ser utilizada.

pre_save(model_instance, add): Retorna un valor para el campo justo en el instante anterior a ser almacenado en la base de datos. Por defecto, simplemente retorna el valor que está en la instancia del modelo, pero igual puede retornar un valor derivado de otro campo o tal vez de algún objeto sin relación directa como por ejemplo, la fecha actual

save_form_data(instance, data): Almacena la data suministrada al atributo apropiado en el objeto. Este método es un atajo para los formularios con lo cual puede ingresar datos de forma adecuada para llenar un modelo desde un formulario.

validate(value, instance): Retorna sin levantar errores si el valor del campo es apropiado para dicho campo según la configuración que existe en su definición en el modelo. Este método es llamado de forma interna por el método clean().

Finalizamos el tutorial, contando con un entendimiento mayor de lo que es la manipulación de los diferentes campos que podamos contar en el modelo utilizando esta serie de métodos comunes que acabamos de mencionar.

¿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