Fundamentos de Django
¿Qué es Django?
¿Cómo instalar Django?
Entendiendo la arquitectura de Django
Qué es el patrón MVT (Model, View y Template)
La M en el Patrón: Modelo
Introducción a Modelos y Bases de Datos
Manejo Avanzado de Modelos y Bases de Datos
Gestión de Modelos y Bases de Datos en Django con SQLite
Inserción de Datos con Django
Actualización y Eliminación de Datos en Django
Relaciones y Asociaciones entre Modelos
Creación y Gestión de Relaciones entre Modelos en Django
Relaciones Muchos a Muchos (N:N) en Django
Relaciones Uno a Uno (1:1) en Django
Queries y Filtros en Django: Optimización y Estrategias Avanzadas
Configuración de URLs y Vistas Avanzadas
Gestión de URLs en Django: Configuración, Rutas y Mejores Prácticas
Vistas Basadas en Clases en Django
La T en el Patrón: Plantillas o Templates
Personalización de Interfaz con Plantillas en Django
Desarrollo de Aplicaciones en Django
Configuración del Proyectos en Django
Creación del Modelo para la Aplicación 'Products' en Django
Cómo Crear Migraciones de Datos en Django
Creación de la Aplicación 'Products' con Formularios en Django
Integracion de TailwindCSS en Django
Django Admin
Manejo de Sesiones en Django
Manejo de Órdenes en CoffeShop
Manejo de Pedidos en CoffeShop
Mixings en vistas basadas en clases
Agregar productos a la orden
Django Rest Framework
Django REST Framework
Despliegue de aplicaciones Django
Configurar PostgreSQL en AWS con Django
Variables de entorno en Django
¿Cómo usar Unit Testing en Django?
Debugging en Django
Desplegar aplicaciones de Django en AWS
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Convierte tus certificados en títulos universitarios en USA
Antes: $249
Paga en 4 cuotas sin intereses
Termina en:
Luis Martínez
Aprender a relacionar tablas es fundamental para manejar datos interconectados en Django
Para iniciar, creamos la clase Publisher
que hereda de models.Model
. Incluimos atributos como name
y address
utilizando models.TextField
con un max_length
de 200, un valor que puedes ajustar según tus necesidades de datos.
class Publisher(models.Model):
name = models.TextField(max_length=200)
address = models.TextField(max_length=200)
def __str__(self):
return self.name
La clase Book
también hereda de models.Model
y contiene atributos como title
, publication_date
y publisher
. Utilizamos models.DateField
para manejar fechas y establecemos una relación con Publisher
usando models.ForeignKey
.
class Book(models.Model):
title = models.TextField(max_length=200)
publication_date = models.DateField()
publisher = models.ForeignKey(Publisher, on_delete=models.CASCADE)
def __str__(self):
return self.title
La relación se establece con models.ForeignKey
, donde especificamos el modelo relacionado (Publisher
) y el comportamiento al eliminar (on_delete=models.CASCADE
). Esto asegura que si un editor se elimina, también se eliminarán sus libros.
Para aplicar estos cambios a la base de datos, creamos y aplicamos las migraciones con los comandos:
python manage.py makemigrations
python manage.py migrate
Para facilitar la interacción con la base de datos, instalamos ipython
con:
pip install ipython
Esto mejora la experiencia en la shell permitiendo autocompletar y otras funcionalidades útiles.
Dentro de la shell, primero creamos un Publisher
y luego un Book
relacionado.
from myapp.models import Publisher, Book
publisher = Publisher(name="Editorial Example", address="123 Main St")
publisher.save()
book = Book(title="Two Scoops of Django", publication_date="2024-07-17", publisher=publisher)
book.save()
Aportes 11
Preguntas 1
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?