Persistència de Dades i Models (ORM)
Gairebé qualsevol aplicació necessita guardar i llegir dades. Aquí entra la base de dades — i l'ORM per tenir-la sota control.
L'Abstracció: Què és un ORM?
ORM significa Object-Relational Mapper. És una eina dels frameworks moderns (com Django) que fa de traductor entre el teu llenguatge de programació (Python) i el de la base de dades (SQL).
Evita SQL directe
No cal escriure sentències SQL (propenses a errors i a injeccions de seguretat).
Independència del motor
Desenvolupa amb SQLite en local i puja a PostgreSQL en
producció canviant una sola línia de config.
CRUD simplificat
Create · Read · Update · Delete, tot amb Python pur.
Nosaltres crearem Models, que són classes en Python que representen una taula a la base de dades:
# Exemple d'un Model en Django
class Llibre(models.Model):
titol = models.CharField(max_length=100)
autor = models.CharField(max_length=200)
Insertar
Seleccionar
Actualitzar
Esborrar
L'evolució del projecte: Les Migracions
A mesura que l'aplicació creix, potser t'adones que al model Llibre li falta el
camp data_edicio. Afegir columnes a una base de dades en producció és
perillosíssim i pot comportar pèrdua d'informació.
Modifica el Model Python
Afegeix el nou camp data_edicio a la classe Llibre al
fitxer models.py.
python manage.py makemigrations
Django analitza el codi, detecta els canvis i genera automàticament l'script de migració.
python manage.py migrate
Aplica l'script generat a la base de dades real. El canvi és efectiu de manera segura i traçable.
🗂️ Resum Ràpid — Mòdul 4
class Llibre(models.Model).