Base de donnée#
SQLite3#
La base de données que nous utilisons pour cette application est SQLite (ici SQLite3).
SQLite est un moteur de base de données SQL léger, orienté fichier autonome. Souvent utilisé pour des applications de petite et moyenne taille, en raison de sa facilité d’installation et d’utilisation.
Pourquoi utiliser SQLite3 ? :
1/ Configuration facile : Django est configuré pour utiliser SQLite par défaut lors de la création d’un nouveau projet. Dans votre fichier de paramètres Django “settings.py”, vous trouverez la configuration de la base de données en tant que base de données.
2/ Aucun serveur requis: Contrairement à d’autres systèmes de gestion de base de données comme PostgreSQL ou MySQL, SQLite ne nécessite pas de processus serveur distinct. Toutes les données sont stockées dans un seul fichier, qui est géré directement par le moteur SQLite.
3/ Portabilité : Puisque la base de données SQLite est simplement un fichier, il est facile de copier et de déplacer vers un autre emplacement ou système
Présentation des objets et de l’ERD#
Trois objets sont représenté dans la base de donnée : Profile, Letting, Address.
Profile : représente un client. Il est liée au modèle “User” de Django (django.contrib.auth.models). Permet l’identification d’un utilisateur.
Letting : représente une annonce de location. Lié à une adresse “Address” afin d’identifier l’objet.
Address : représente une propriété à loué. L’adresse de la propriété est fournis.
Présentation des modèles#
Profile : Représentant un client.#
- class profiles.models.Profile(*args, **kwargs)[source]
Modèle représentant un profil utilisateur.
- Attributes:
- user (OneToOneField): La relation un-à-un avec le modèle User
pour lier le profil à un utilisateur.
- favorite_city (CharField): La ville préférée de l’utilisateur
(max 64 caractères, facultatif).
- Methods:
- __str__: Retourne une représentation sous forme
de chaîne de caractères du profil.
- exception DoesNotExist
- exception MultipleObjectsReturned
Letting : Représentant une location.#
- class lettings.models.Letting(*args, **kwargs)[source]
Modèle représentant une location.
- Attributes:
title (CharField): Le titre de la location (max 256 caractères).
- address (OneToOneField): L’adresse de la location
(relation un-à-un avec le modèle Address).
- Methods:
__str__: Retourne une représentation sous forme de chaîne de caractères de la location.
- exception DoesNotExist
- exception MultipleObjectsReturned
Address : Représentant une propriété a loué.#
- class lettings.models.Address(*args, **kwargs)[source]
Modèle représentant une adresse.
- Attributes:
number (PositiveIntegerField): Le numéro de l’adresse (entre 1 et 9999).
street (CharField): Le nom de la rue (max 64 caractères).
city (CharField): Le nom de la ville (max 64 caractères).
state (CharField): Le code d’État ou de province (2 caractères min).
zip_code (PositiveIntegerField): Le code postal (entre 1 et 99999).
country_iso_code (CharField): Le code ISO du pays (3 caractères min).
- Methods:
- __str__: Retourne une représentation sous forme
de chaîne de caractères de l’adresse.
- Meta:
verbose_name_plural: Nom au pluriel utilisé dans l’administration.
- exception DoesNotExist
- exception MultipleObjectsReturned