Code source de lettings.models

 1from django.db import models
 2from django.core.validators import MaxValueValidator, MinLengthValidator
 3
 4
[docs] 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
[docs] 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