Coverage for lettings/models.py: 100%

18 statements  

« prev     ^ index     » next       coverage.py v7.3.1, created at 2023-09-21 17:46 +0000

1from django.db import models 

2from django.core.validators import MaxValueValidator, MinLengthValidator 

3 

4 

5class Address(models.Model): 

6 """ 

7 Modèle représentant une adresse. 

8 

9 Attributes: 

10 number (PositiveIntegerField): Le numéro de l'adresse (entre 1 et 9999). 

11 

12 street (CharField): Le nom de la rue (max 64 caractères). 

13 

14 city (CharField): Le nom de la ville (max 64 caractères). 

15 

16 state (CharField): Le code d'État ou de province (2 caractères min). 

17 

18 zip_code (PositiveIntegerField): Le code postal (entre 1 et 99999). 

19 

20 country_iso_code (CharField): Le code ISO du pays (3 caractères min). 

21 

22 Methods: 

23 __str__: Retourne une représentation sous forme 

24 de chaîne de caractères de l'adresse. 

25 

26 Meta: 

27 verbose_name_plural: Nom au pluriel utilisé dans l'administration. 

28 

29 """ 

30 number = models.PositiveIntegerField(validators=[MaxValueValidator(9999)]) 

31 street = models.CharField(max_length=64) 

32 city = models.CharField(max_length=64) 

33 state = models.CharField(max_length=2, validators=[MinLengthValidator(2)]) 

34 zip_code = models.PositiveIntegerField(validators=[MaxValueValidator(99999)]) 

35 country_iso_code = models.CharField(max_length=3, validators=[MinLengthValidator(3)]) 

36 

37 def __str__(self): 

38 return f'{self.number} {self.street}' 

39 

40 class Meta: 

41 verbose_name_plural = "Addresses" 

42 

43 

44class Letting(models.Model): 

45 """ 

46 Modèle représentant une location. 

47 

48 Attributes: 

49 title (CharField): Le titre de la location (max 256 caractères). 

50 

51 address (OneToOneField): L'adresse de la location 

52 (relation un-à-un avec le modèle Address). 

53 

54 Methods: 

55 __str__: Retourne une représentation sous forme de chaîne de caractères de la location. 

56 

57 """ 

58 title = models.CharField(max_length=256) 

59 address = models.OneToOneField(Address, on_delete=models.CASCADE) 

60 

61 def __str__(self): 

62 return self.title