Ejercicio: Creación de modelos
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.
Abra el archivo dog_shelters/models.py en Visual Studio Code.
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
.
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'
Abra settings.py en el proyecto.
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.