Ejercicio: Creación de modelos

Completado

Al crear un modelo, puede definir los campos esenciales y el comportamiento de los datos. Vamos a agregar los modelos necesarios para la aplicación dog_shelters.

Crear modelos

El primer paso del proceso es agregar los modelos. Django proporciona un archivo vacío denominado models.py que puede usar para los modelos.

  1. Abra el archivo dog_shelters/models.py en Visual Studio Code.

  2. Agregue dos clases de Python para contener los modelos escribiendo el código siguiente en el comentario Create your models here:

    # Create your models here
    class Shelter(models.Model):
        name = models.CharField(max_length=200)
        location = models.CharField(max_length=200)
        def __str__(self):
            return self.name
    
    class Dog(models.Model):
        shelter = models.ForeignKey(Shelter, on_delete=models.PROTECT)
        name = models.CharField(max_length=200)
        description = models.TextField()
        intake_date = models.DateTimeField(auto_now_add=True)
        def __str__(self):
            return self.name
    

Al agregar estos modelos, ahora tenemos una representación para los refugios y los perros. Observe la relación entre Dog y Shelter: una clase Shelter puede alojar muchos valores Dog. Observe también el valor auto_now_add de intake_date. Establece automáticamente el campo en la fecha actual si no se proporciona una fecha personalizada.

También usamos ForeignKey en la clase Dog. Esta parte indica a Django que existe una relación entre Dog y Shelter. Al definir esta relación, estamos indicando a Django que todos los perros están relacionados con un solo refugio.

Registro del modelo

Todas las aplicaciones deben estar registradas con el proyecto en Django. Puede parecer poco intuitivo, pero el simple hecho de que exista una carpeta de aplicación dentro de un proyecto, no significa que esa carpeta se cargue automáticamente. Necesitamos registrarla agregándola a la lista INSTALLED_APPS.

  1. Busque el nombre de clase de configuración dentro de la carpeta dog_shelters. Para encontrar este nombre de clase, vaya al archivo dog_shelters/apps.py y compruebe que el nombre de clase es DogSheltersConfig en el código siguiente:

    class DogSheltersConfig(AppConfig):
        default_auto_field = 'django.db.models.BigAutoField'
        name = 'dog_shelters'
    
  2. Abra settings.py en el proyecto.

  3. Agregue la ruta de acceso completa al nombre de clase en el comentario #[TODO] - Add the app to the list of INSTALLED_APPS:

        #[TODO] - Add the app to the list of INSTALLED_APPS
        'dog_shelters.apps.DogSheltersConfig',
    

    La lista INSTALLED_APPS ahora contiene los elementos siguientes:

    INSTALLED_APPS = [
        #[TODO] - Add the app to the list of INSTALLED_APPS
        'dog_shelters.apps.DogSheltersConfig',
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
    ]
    

    Al agregar la línea a la lista INSTALLED_APPS, se indica a Django que esta aplicación debe incluirse al ejecutar el proyecto.

Resumen

Ahora ha creado dos modelos para la aplicación de Django. La creación de modelos es la base de todos los proyectos de Django.