Pages

Django

Python : lien

Django : lien


Data base : lien


Cas d'utilisation pour airport/fligth/manager

Créons un environnement Django avec des modèles représentant 

  1. un aéroport,
  2. des vols et 
  3. des passagers. 

Nous inclurons des exemples de relations un-à-un, un-à-plusieurs et plusieurs-à-plusieurs, ainsi que l'attribut related_name pour les recherches inversées.

Models

  1. One-to-One Relationship: Each airport has one airport manager.
  2. One-to-Many Relationship: Each flight departs from one airport but an airport can have many departing flights.
  3. Many-to-Many Relationship: Passengers can book many flights, and each flight can have many passengers.

Django Models

from django.db import models

class Airport(models.Model):
    name = models.CharField(max_length=100)
    location = models.CharField(max_length=100)
    manager = models.OneToOneField('Manager', on_delete=models.CASCADE, related_name='managed_airport')

class Manager(models.Model):
    name = models.CharField(max_length=100)
    email = models.EmailField()

class Flight(models.Model):
    flight_number = models.CharField(max_length=10)
    departure_time = models.DateTimeField()
    arrival_time = models.DateTimeField()
    departure_airport = models.ForeignKey(Airport, on_delete=models.CASCADE, related_name='departures')
    arrival_airport = models.ForeignKey(Airport, on_delete=models.CASCADE, related_name='arrivals')

class Passenger(models.Model):
    name = models.CharField(max_length=100)
    passport_number = models.CharField(max_length=20)
    flights = models.ManyToManyField(Flight, related_name='passengers')

Explications : 

  1. One-to-One Relationship:
    1. L'aéroport a une relation univoque avec le gestionnaire à l'aide du champ models.OneToOneField.
    2. Le champ related_name='managed_airport' permet d'effectuer une recherche inversée du gestionnaire vers l'aéroport.
  2. One-to-Many Relationship:
    1. Flight possède une clé étrangère vers Airport pour departure_airport et arrival_airport.
    2. Les éléments related_name='departures' et related_name='arrivals' permettent d'effectuer des recherches inversées de l'aéroport vers le vol.
  3. Many-to-Many Relationship:
    1. Un passager a une relation de plusieurs à plusieurs avec un vol en utilisant models.ManyToManyField.
    2. Le champ related_name='passengers' permet d'effectuer des recherches inverses de Flight à Passenger.


UI : JS

les soldes : achats

 Découvrez les méthodes filter, map et reduce en action !

Vous disposez de 80€ de budget.
Vous indiquez dans votre panier vos achats
Type:Prix:Quantité

Cliquez pour calculer l'estimation d'achat et l'aide à la vente.

Mongodb

 https://docs.google.com/document/d/1_8Ej9eZVJMXod-q-B_ce5e4DyAXtNc2g-lwESyBSac8/edit#heading=h.jnfmsjj5sb1x

ENi : livre

  la BU permet d'accèder en ligne aux ouvrage et formations de l'éditeur ENI. C'est là : https://www.biblio.univ-evry.fr/index.php/2024/03/29/eni/


remarque : pas toujours fan de cette collection !

Mongoose : how-to

introduction à Mongoose : Let's start

 https://github.com/dupontdenis/mongoose-howto.git