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

1""" 

2Module contenant le modèle Offre pour la gestion des offres commerciales. 

3 

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""" 

7 

8from django.db import models 

9 

10class Offre(models.Model): 

11 """ 

12 Modèle représentant une offre commerciale. 

13 

14 Une offre correspond à un package ou type de billet disponible 

15 pour les spectateurs, avec un prix variable selon le nombre de personnes. 

16 

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 ) 

39 

40 def __str__(self): 

41 """ 

42 Représentation textuelle de l'offre. 

43 

44 :return: Le libellé de l'offre 

45 :rtype: str 

46 """ 

47 return self.libelle 

48 

49 class Meta: 

50 """ 

51 Métadonnées du modèle Offre. 

52 

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']