Mapper relazionale a oggetti di Django
L'uso di un database relazionale richiede l'adozione di un approccio diverso rispetto all'uso di oggetti in un'applicazione. Il passaggio da un ambiente all'altro può rallentare il processo di creazione di un'applicazione. Inoltre, la conversione dei risultati delle query di un database in dati utilizzabili da parte dell'applicazione richiede codice aggiuntivo.
I mapper relazionali a oggetti, o ORM, risolvono questo problema agendo da middleware tra un'applicazione e il database. È possibile creare oggetti che modellano i dati, inclusi quelli per l'aggiunta di vincoli e altre forme di metadati. L'ORM quindi:
- Gestisce la creazione e l'aggiornamento del database in base alle esigenze.
- Gestisce le query.
- Converte o esegue il mapping delle richieste effettuate tramite gli oggetti alle chiamate di database appropriate.
Panoramica dell'ORM di Django
Django è stato creato per le app basate sui dati ed è quindi naturale che contenga un ORM integrato. L'ORM di Django risulterà naturale per gli sviluppatori Python, perché usa la sintassi e l'ereditarietà delle classi con cui si ha già familiarità.
Poiché è progettato per essere un framework Web, Django può usare la struttura dei modelli creati per generare automaticamente HTML e moduli. Nella maggior parte dei casi, Django può creare in modo dinamico codice HTML per consentire all'utente di modificare i dati senza che sia necessario creare il modulo manualmente. Può anche gestire le chiamate al database per l'utente.