Las validaciones de campo incorporadas en los modelos de Django son las validaciones que vienen predefinidas para todos los campos de Django. Cada campo viene con validaciones integradas de los validadores de Django . También se pueden agregar más validaciones de campo integradas para aplicar o eliminar ciertas restricciones en un campo en particular. El atributo error_messages se usa para modificar los mensajes de error que se muestran en la interfaz de administración durante la falla de alguna restricción.
Por ejemplo, puede anular el mensaje «Este campo es obligatorio» en su propio mensaje. Le permite anular los mensajes predeterminados que generará el campo. Pase un diccionario con claves que coincidan con los mensajes de error que desea anular. Las claves de mensaje de error incluyen nulo , en blanco , no válido, invalid_choice , unique y unique_for_date .
Sintaxis –
field_name = models.Field(error_messages = {"key": "message"})
Validación de campo incorporada de Django editable = Explicación falsa
Ilustración de mensajes de error usando un ejemplo. Considere un proyecto llamado geeksforgeeks que tenga una aplicación llamada geeks.
Consulte los siguientes artículos para comprobar cómo crear un proyecto y una aplicación en Django.
Ingrese el siguiente código en el archivo models.py de la aplicación geeks . Usaremos CharField para experimentar con todas las opciones de campo.
Python3
from django.db import models from django.db.models import Model # Create your models here. class GeeksModel(Model): geeks_field = models.CharField( max_length = 200, unique = True )
Después de ejecutar makemigrations y migrar en Django y renderizar el modelo anterior, creemos una instancia desde la interfaz de administración de Django con la string » a «. Ahora, para romper la restricción de unique=True , intentemos crear una instancia más del modelo usando la misma string. Ahora mostrará este error.
Ahora modifiquemos este mensaje de error a «El campo Geeks que ingresó no es único». utilizando mensajes de error . Cambie models.py a
Python3
from django.db import models from django.db.models import Model # Create your models here. class GeeksModel(Model): geeks_field = models.CharField( max_length = 200, unique = True, error_messages ={ "unique":"The Geeks Field you entered is not unique." } )
Dado que models.py está modificado, ejecute makemigrations y migre nuevamente en el proyecto. Abra la interfaz de administración e intente crear una instancia usando la string «a» nuevamente.
Puede ver el mensaje de error modificado. Por lo tanto, error_messages modifica los mensajes de error del campo. puede modificar usando otros atributos como nulo , en blanco , etc.
Más validaciones de campo integradas
.math-table { borde-colapso: colapsar; ancho: 100%; } .math-table td { borde: 1px sólido #5fb962; alineación de texto: izquierda! importante; relleno: 8px; } .math-table th { borde: 1px sólido #5fb962; relleno: 8px; } .math-table tr>th{ color de fondo: #c6ebd9; alineación vertical: medio; } .math-table tr:nth-child(odd) { background-color: #ffffff; }
Opciones de campo | Descripción |
---|---|
Nulo | Si es True , Django almacenará valores vacíos como NULL en la base de datos. El valor predeterminado es Falso . |
Vacío | Si es True , el campo puede estar en blanco. El valor predeterminado es Falso . |
columna_db | El nombre de la columna de la base de datos que se usará para este campo. Si no se proporciona, Django usará el nombre del campo. |
Defecto | El valor predeterminado para el campo. Puede ser un valor o un objeto invocable. Si es invocable, se llamará cada vez que se cree un nuevo objeto. |
texto de ayuda | Texto adicional de «ayuda» que se mostrará con el widget de formulario. Es útil para la documentación incluso si su campo no se usa en un formulario. |
Clave primaria | Si es Verdadero, este campo es la clave principal para el modelo. |
editable | Si es False , el campo no se mostrará en el administrador ni en ningún otro ModelForm. También se omiten durante la validación del modelo. El valor predeterminado es Verdadero . |
error de mensajes | El argumento error_messages le permite anular los mensajes predeterminados que generará el campo. Pase un diccionario con claves que coincidan con los mensajes de error que desea anular. |
texto de ayuda | Texto adicional de «ayuda» que se mostrará con el widget de formulario. Es útil para la documentación incluso si su campo no se usa en un formulario. |
nombre_verbose | Un nombre legible por humanos para el campo. Si no se proporciona el nombre detallado, Django lo creará automáticamente utilizando el nombre del atributo del campo, convirtiendo los guiones bajos en espacios. |
validadores | Una lista de validadores para ejecutar para este campo. Consulte la documentación de los validadores para obtener más información. |
Único | Si es Verdadero, este campo debe ser único en toda la tabla. |
Publicación traducida automáticamente
Artículo escrito por NaveenArora y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA