Skip to content

Latest commit

 

History

History
 
 

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

Backend con Python > Sesión 03 > Reto-02

Reto 02: Creando relaciones con el modelo de datos de Django

Objetivo

  • Crear una relación entre dos tablas.
  • Programar modelos a partir de un diagrama entidad-relacion.

Desarrollo

  1. Usando el modelo entidad-relación, agregar la tabla Salida.
    • Para realizar esto registra tu modelo con los tipos de campo y opciones adecuadas.
    • Registra estos cambios en admin.py
    • Registra las migraciones en la app.

Diagrama del modelo entidad-relación para el proyecto Bedutravels

Modelo entidad-relación para Bedutravels

Solución

Implementando el modelo según el diagrama ER.

   class Salida(models.Model):
       """ Define la tabla Salida """
       fechaInicio = models.DateField()
       fechaFin = models.DateField()
       asientos = models.PositiveSmallIntegerField(null=True, blank=True)
       precio = models.DecimalField(max_digits=10, decimal_places=2)
       tour = models.ForeignKey(Tour, related_name="salidas", on_delete=models.CASCADE)

       def __str__(self):
           return "{} ({}, {})".format(self.tour, self.fechaInicio, self.fechaFin)

Registrando en Django que hemos modificado el archivo models.py:

   (Bedutravels) Reto-02/Bedutravels $ python manage.py makemigrations
   (Bedutravels) Reto-02/Bedutravels $ python manage.py migrate
   (Bedutravels) Reto-02/Bedutravels $

Agregando el modelo Salida a el archivo admin.py:

   class SalidaAdmin(admin.ModelAdmin):
       # Se sobre escribe lo que hace __str__
       list_display = ("id", "fechaInicio", "fechaFin", "asientos", "precio",
           "tour")

   admin.site.register(Salida, SalidaAdmin)

Después de agregar 3 Salida para el Tour de Chiapas Hermoso se observa:

Django admin agregando una Salida

FELICIDADES, toma otro respiro o ayuda a algún compañero que no lo haya.