primary_key – Validación de campo incorporada de Django

Las validaciones de campo incorporadas en los modelos de Django son las validaciones predeterminadas 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. primary_key=Truehará que el campo sea PRIMARY KEY para esa tabla (modelo). Si no especificas primary_key=True para ningún campo en tu modelo, Django agregará automáticamente un AutoField para contener la clave principal, por lo que no es necesario que configures primary_key =Verdadero en cualquiera de sus campos a menos que desee anular el comportamiento predeterminado de la clave principal. Para obtener más información, consulte Campos de clave principal automáticos .

Nota : primary_key=Trueimplica null=Falsey unique=True. Solo se permite una clave principal en un objeto.

Sintaxis

field_name = models.Field(primary_key = True)

primary_key=TrueExplicación de validación de campo incorporado de Django

Ilustración de primary_key=True utilizando un ejemplo. Considere un proyecto llamado geeksforgeeksque tiene 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 models.pyel archivo de la aplicación geeks . Usaremos IntegerField para experimentar con la clave_principal.

from django.db import models
from django.db.models import Model
# Create your models here.
  
class GeeksModel(Model):
    geeks_field = models.IntegerField(primary_key = True)

Después de ejecutar makemigrations y migrar en Django y renderizar el modelo anterior, intentemos crear una instancia usando None from Django shell. Para iniciar Django shell, ingrese el comando,

Python manage.py shell

Ahora intentemos crear una instancia de GeeksModel usando None .

# importing required model
from geeks.models import GeeksModel
  
# creating instance of GeeksModel
s = GeeksModel.objects.create(geeks_field = 12)
  
# saving current model instance
s.save()

Verifiquemos en la interfaz de administración si se crea la instancia del modelo.
primary_key=True - Django Built-in Field Validation
Por lo tanto, primary_key=True modifica el campo como PRIMARY KEY para esa tabla. Para saber más sobre la clave principal, visite aquí .

Conceptos avanzados con primary_key=True

El campo de clave principal es de solo lectura. Si cambia el valor de la clave principal en un objeto existente y luego lo guarda, se creará un nuevo objeto junto con el anterior.

Más validaciones de campo integradas

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.
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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *