Proyecto Final - Parte 2¶
Introducción¶
En esta Parte II, vamos a centrarnos en la creación de los modelos de Contactos y Tareas. Esto incluirá definir las propiedades de cada modelo, realizar las migraciones correspondientes y aplicarlas a la base de datos. Además, prepararemos el modelo de Contactos para su posterior integración en el panel de administración de Django.
Desarrollo¶
1. Creación de los Modelos en models.py¶
Comenzaremos creando los modelos para Contactos y Tareas dentro de sus respectivas aplicaciones.
Modelo Contact¶
Abre el archivo contact/models.py y define el siguiente modelo:
| contact/models.py | |
|---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
Explicación del modelo Contact:
- name: Campo
CharFieldcon un máximo de 50 caracteres. Es obligatorio y no puede estar vacío. - last_name: Igual que
name, un campoCharFieldde 50 caracteres, obligatorio. - phone: Un campo
CharFieldde 12 caracteres que es opcional. - mobile: Un campo
CharFieldde 12 caracteres que es obligatorio. - email: Un campo de tipo
EmailField, obligatorio. - company: Un campo
CharFieldde 20 caracteres, opcional. - date: Un campo de fecha y hora (
DateTimeField) que se establece automáticamente a la fecha de creación. - notes: Un campo
TextField, opcional, que puede contener notas adicionales sobre el contacto.
Modelo Todo¶
Ahora, abre el archivo todo/models.py y define el siguiente modelo:
| todo/models.py | |
|---|---|
1 2 3 4 5 6 7 8 9 10 11 | |
Explicación del modelo Todo:
- title: Un campo
CharFieldcon un máximo de 100 caracteres. Es obligatorio. - description: Un campo
TextField, opcional, que permite ingresar una descripción de la tarea. - date: Un campo
DateTimeFieldque se establece automáticamente a la fecha de creación. - estimated_end: Un campo de tipo
DateTimeField, opcional, que indica la fecha estimada de finalización de la tarea. - priority: Un campo
IntegerFieldque por defecto tiene un valor de 1. Indica la prioridad de la tarea.
2. Realización de Migraciones¶
Una vez definidos los modelos, debemos realizar las migraciones para que Django cree las tablas correspondientes en la base de datos.
-
Crear las migraciones:
En la terminal, ejecuta el siguiente comando para crear las migraciones de ambos modelos:
python manage.py makemigrationsEsto generará un archivo de migración en la carpeta
migrationsde cada aplicación. -
Aplicar las migraciones:
Luego, aplica las migraciones con el siguiente comando:
python manage.py migrateEste comando actualizará la base de datos creando las tablas para los modelos Contact y Todo.
3. Registro de los Modelos en el Panel de Administración¶
Para gestionar los contactos y las tareas desde el panel de administración de Django, necesitamos registrar ambos modelos en admin.py.
-
Registrar el modelo
Contactencontact/admin.py:Abre el archivo
contact/admin.pyy agrega el siguiente código:from django.contrib import admin from .models import Contact admin.site.register(Contact) -
Registrar el modelo
Todoentodo/admin.py:Abre el archivo
todo/admin.pyy agrega el siguiente código:from django.contrib import admin from .models import Todo admin.site.register(Todo)
4. Verificación en el Panel de Administración¶
Ahora que hemos registrado ambos modelos, crearemos un superusuario para poder acceder al panel de administración y gestionar los contactos y las tareas.
-
Crear un superusuario:
Ejecuta el siguiente comando en la terminal para crear un superusuario:
python manage.py createsuperuserSigue las instrucciones y proporciona un nombre de usuario, correo electrónico y una contraseña.
Crear superusuario
He utilizado admincomo nombre de usuario,admin@agenda.escomo correo ysuperusercomo contraseña (aunque no es recomendable usar contraseñas tan simples en un entorno real). -
Acceder al panel de administración:
Una vez creado el superusuario, ejecuta el servidor de desarrollo:
python manage.py runserverLuego, abre tu navegador y ve a:
Ingresa con el superusuario que acabas de crear y verifica que los modelos Contact y Todo estén disponibles para ser gestionados.http://127.0.0.1:8000/admin/
5. Resumen de la Parte II¶
En esta parte, hemos creado los modelos para Contactos y Tareas, definimos sus campos, realizamos las migraciones correspondientes y verificamos que las tablas se crearon en la base de datos. Además, registramos ambos modelos en el panel de administración de Django para permitir su gestión desde la interfaz gráfica.