¿Cómo usar las opciones de campo de Django?

Opciones de campo de Django. De acuerdo con la documentación, las opciones de campo son una secuencia que consiste en iterables de exactamente dos elementos (por ejemplo, [ (A, B), (A, B) …]) para usar como opciones para algún campo. Por ejemplo, considere un semestre de campo que solo puede tener opciones como { 1, 2, 3, 4, 5, 6 }. Choices limita la entrada del usuario a los valores particulares especificados en models.py. Si se dan opciones, se aplican mediante la validación del modelo y el widget de formulario predeterminado será un cuadro de selección con estas opciones en lugar del campo de texto estándar. Las opciones pueden ser cualquier objeto de secuencia, no necesariamente una lista o una tupla.

El primer elemento de cada tupla es el valor real que se establecerá en el modelo, y el segundo elemento es el nombre legible por humanos.
Por ejemplo,

SEMESTER_CHOICES = (
    ("1", "1"),
    ("2", "2"),
    ("3", "3"),
    ("4", "4"),
    ("5", "5"),
    ("6", "6"),
    ("7", "7"),
    ("8", "8"),
)

Vamos a crear un campo de opciones con el semestre anterior en nuestro proyecto django llamado geeksforgeeks.

from django.db import models
  
# specifying choices
  
SEMESTER_CHOICES = (
    ("1", "1"),
    ("2", "2"),
    ("3", "3"),
    ("4", "4"),
    ("5", "5"),
    ("6", "6"),
    ("7", "7"),
    ("8", "8"),
)
  
# declaring a Student Model
  
class Student(models.Model):
      semester = models.CharField(
        max_length = 20,
        choices = SEMESTER_CHOICES,
        default = '1'
        )

Veamos en el panel de administración cómo se crea el semestre.
django-field-choices
También se pueden recopilar las opciones disponibles en grupos con nombre que se pueden utilizar con fines organizativos:

MEDIA_CHOICES = [
    ('Audio', (
            ('vinyl', 'Vinyl'),
            ('cd', 'CD'),
        )
    ),
    ('Video', (
            ('vhs', 'VHS Tape'),
            ('dvd', 'DVD'),
        )
    ),
    ('unknown', 'Unknown'),
]

El primer elemento de cada tupla es el nombre que se aplicará al grupo. El segundo elemento es un iterable de 2 tuplas, cada una de las cuales contiene un valor y un nombre legible por humanos para una opción. Las opciones agrupadas pueden combinarse con opciones no agrupadas dentro de una sola lista (como la opción desconocida en este ejemplo).
Para cada campo de modelo que tenga opciones establecidas, Django agregará un método para recuperar el nombre legible por humanos para el valor actual del campo. Consulte get_FOO_display()la documentación de la API de la base de datos.

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 *