Coverage for api\models\offre.py: 92%
12 statements
« prev ^ index » next coverage.py v7.10.7, created at 2025-10-13 15:18 +0200
« prev ^ index » next coverage.py v7.10.7, created at 2025-10-13 15:18 +0200
1"""
2Module contenant le modèle Offre pour la gestion des offres commerciales.
4Ce module définit la structure de données pour les offres de billets
5et packages disponibles pour les événements des Jeux Olympiques.
6"""
8from django.db import models
10class Offre(models.Model):
11 """
12 Modèle représentant une offre commerciale.
14 Une offre correspond à un package ou type de billet disponible
15 pour les spectateurs, avec un prix variable selon le nombre de personnes.
17 :ivar libelle: Nom de l'offre
18 :type libelle: str
19 :ivar nb_personne: Nombre de personnes concernées par l'offre
20 :type nb_personne: int
21 :ivar montant: Montant de l'offre en euros
22 :type montant: float
23 :ivar description: Description détaillée de l'offre
24 :type description: str
25 """
26 libelle = models.CharField(max_length=100, help_text="Nom de l'offre")
27 nb_personne = models.IntegerField(
28 default=0,
29 help_text="Nombre de personnes concernées par l'offre"
30 )
31 montant = models.FloatField(
32 default=0.00,
33 help_text="Montant de l'offre en euros"
34 )
35 description = models.TextField(
36 default="",
37 help_text="Description détaillée de l'offre"
38 )
40 def __str__(self):
41 """
42 Représentation textuelle de l'offre.
44 :return: Le libellé de l'offre
45 :rtype: str
46 """
47 return self.libelle
49 class Meta:
50 """
51 Métadonnées du modèle Offre.
53 :cvar verbose_name: Nom lisible de l'offre au singulier
54 :type verbose_name: str
55 :cvar verbose_name_plural: Nom lisible de l'offre au pluriel
56 :type verbose_name_plural: str
57 :cvar ordering: Ordre par défaut pour les requêtes
58 :type ordering: list
59 """
60 verbose_name = "Offre"
61 verbose_name_plural = "Offres"
62 ordering = ['nb_personne', 'montant']