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

Creando relaciones con el modelo de datos de Django

OBJETIVO

  • Crear una relación entre dos tablas.

REQUISITOS

  1. Actualizar repositorio

  2. Usar la carpeta de trabajo Sesion-03/Reto-02

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

    Modelo entidad-relación para Bedutravels

  4. Documentación de Django referente a modelos:

DESARROLLO

  1. Usando el modelo entidad-relación, agregar la tabla Salida:

    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)

    Avisando a 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