Django - Varias tablas unidas por claves foráneas | Programador Web Valencia

Django - Varias tablas unidas por claves foráneas

1 minuto

Django

Es muy común que cuando trabajamos con una base de datos relacional acabemos teniendo muchas tablas que se relacionan unas con otras a través de claves foráneas (foreign key).

Por ejemplo: Puesto -> Producto -> Reserva

class Puesto(models.Model):
   nombre = models.CharField()
   propietario = models.TextField()

class Producto(models.Model):
   puesto = models.ForeignKey(Puesto)
   codigo = models.IntegerField()
   descripcion = models.TextField()

class Reserva(models.Model):
   producto = models.ForeignKey(Producto)
   cliente = models.CharField()
   fecha = models.DateField()

Pongamos que tenemos el nombre de un propietario, y este se llama Juan. La pregunta es ¿como puedo tener todas sus Reservas? Django nos lo hace muy sencillo.

misReservas = Reserva.objects.filter(producto__puesto__propietario='Juan')

Y ya esta. Si queremos ver todos los clientes.

misReservas = Reserva.objects.filter(producto__puesto__propietario='Juan')

for reserva in misReservas:
    print(reserva.cliente)

Esta obra está bajo una Licencia Creative Commons Atribución-NoComercial-SinDerivadas 4.0 Internacional.

Atribución/Reconocimiento-NoComercial-SinDerivados 4.0 Internacional

¿Me invitas a un café? ☕

Puedes hacerlo usando el terminal.

ssh customer@andros.dev -p 5555

Comentarios

{{ comments.length }} comentarios

Nuevo comentario

Nueva replica  {{ formatEllipsisAuthor(replyComment.author) }}

Acepto la política de Protección de Datos.

Escribe el primer comentario

Tal vez también te interese...