Pitone

Cos'è Django ORM?

Cos'è Django ORM?
Nel mondo di oggi, la tecnologia è diventata parte integrante delle nostre vite poiché tutto ciò che ci circonda è stato digitalizzato. Questo vale anche nel settore delle imprese. Le aziende che non riescono a utilizzare la giusta infrastruttura e non sono in grado di attrezzare la giusta architettura tecnologica finiscono per restare indietro rispetto ai loro concorrenti. Questo principalmente perché, al giorno d'oggi, la quantità di dati su cui le aziende e le organizzazioni fanno affidamento per le loro analisi è cresciuta in modo esponenziale e di conseguenza, per poterli elaborare e interpretare in modo efficiente, hanno bisogno di avere il giusto set di strumenti e infrastrutture per supportarli.

I database sono una delle tecnologie più popolari utilizzate per la raccolta e l'organizzazione dei dati in quanto consentono ai dati di essere facilmente accessibili, gestibili e anche aggiornati. Tuttavia, questi database richiedono un sistema di gestione per eseguire queste attività. Per lo più, il linguaggio SQL viene utilizzato per eseguire operazioni in un database, tuttavia, man mano che l'applicazione cresce e diventa più complessa, diventa estremamente difficile avere un'idea di cosa stia facendo esattamente ciascuna operazione. È qui che entra in gioco la tecnica Object Relational Mapping (ORM). Ciò consente l'interrogazione e la manipolazione dei dati utilizzando un linguaggio di programmazione orientato agli oggetti di tua scelta. Gli ORM riducono la complessità del codice e lo rendono più comprensibile, il che, a sua volta, semplifica l'aggiornamento, la manutenzione e il riutilizzo del codice.

In questo articolo, daremo un'occhiata a Django ORM, che è un ORM basato su Python e quindi una delle tecnologie più popolari utilizzate in questi giorni.

Cos'è Django?

Prima di passare a esaminare l'ORM di Django, vediamo prima di cosa si tratta in realtà questa tecnologia Pythonic chiamata Django.

Django è un framework web gratuito e open source progettato in Python e, quindi, ha un design molto pulito e ordinato oltre ad essere semplice, flessibile, affidabile e scalabile. Rende le cose estremamente facili per gli sviluppatori web in quanto fornisce agli utenti componenti già pronti che, a loro volta, impediscono loro di scrivere tutto da zero e, di conseguenza, rendono il loro lavoro più veloce e riducono il sovraccarico sul loro sito web. Oltre a ciò, è estremamente sicuro e aiuta gli utenti a evitare problemi di sicurezza come attacchi di ripristino dell'interfaccia utente, iniezioni SQL e così via. Ha anche una comunità estremamente ampia che è sempre accessibile tramite forum e sempre pronta ad offrire il suo aiuto agli altri.

Vediamo ora finalmente l'ORM di Django e alcune delle sue caratteristiche principali.

Accesso a Django ORM

Dopo aver installato Django e aver impostato il suo progetto, di solito ci vengono forniti i seguenti file iniziali:

mysite qui si riferisce al nome del progetto che hai creato. Tutti questi file hanno i loro usi ed è importante che uno sappia quale ruolo gioca ogni file. Il nostro obiettivo qui sarà sulla gestione.py che controllerà molte cose diverse per noi, come l'impostazione di un server, l'esecuzione di migrazioni, la comunicazione con un database e l'accesso alla modalità ORM.

Per aprire Django ORM, apri una riga di comando dalla directory principale del tuo progetto Django ed esegui il seguente comando:

$ python gestire.py shell

Questo aprirà per noi una shell interattiva che ci permetterà di iniziare a interagire con il database utilizzando l'ORM.

Manipolazione del database utilizzando le query in Django ORM

Poiché l'ORM ci consente di interagire con il database, ora possiamo scrivere diverse query per recuperare e manipolare i dati dal database. Tuttavia, prima di poter iniziare a lavorare sul database nella shell, dobbiamo prima importare tutti i modelli ad esso associati. Questo può essere fatto semplicemente eseguendo un comando nella shell interattiva, come mostrato di seguito:

$ da appName.modelli di importazione nomemodello

Qui, appName si riferisce al nome della tua app che hai creato e quindi dove sono attualmente archiviati i tuoi modelli. Il modelName si riferisce al nome del modello che si desidera importare e utilizzare. Puoi importare più modelli qui, come mostrato nell'esempio seguente:

Ora puoi accedere all'oggetto modello e leggere i dati da esso. Ad esempio, se vogliamo l'elenco di tutti i post, possiamo semplicemente ottenerli eseguendo il seguente comando nel nostro terminale:

$ Post.oggetti.tutti()

Quello che segue è il risultato del comando precedente:

Possiamo fare molti altri tipi di cose nell'ORM come creare nuovi dati di database, aggiornare i dati e tutti gli altri comandi di database che puoi.

Modellazione di database

Una delle cose migliori che Django ORM offre ai suoi utenti è la capacità di collegare e stabilire automaticamente relazioni tra gli attributi dell'oggetto del tuo modello e i campi della tabella corrispondenti. Nei database esistono principalmente tre tipi di relazioni. queste sono la relazione Uno-a-Uno, la relazione Uno-a-Molti o Molti-a-Uno e le relazioni Molti-a-molti.

Una relazione uno a uno è, come suggerisce il nome, in cui il record di una tabella corrisponde a un singolo record di un'altra tabella. In Django ORM, possiamo facilmente stabilirlo come segue:

classe Genitore (modelli.Modello):
utente = modelli.UnoAUnoField(
Utente,
on_delete=modelli.CASCATA,
primary_key=Vero,
)
nome_di_padre = modelli.CharField(max_length=100)
name_of_mother = modelle.CharField(max_length=100)

Da queste parti, ogni utente può avere solo genitori biologici single, e quindi è una relazione uno a uno. Ora, se eliminiamo qualsiasi utente che accede a questo modello, eliminerà anche il modello del 2nd utente poiché dipendono l'uno dall'altro.

Un rapporto uno-a-molti o molti-a-uno si riferisce a una relazione in cui un record padre può avere diversi record figlio, tuttavia, può avere solo uno o nessuno figlio. In Django ORM, possiamo facilmente stabilire questa relazione usando il Chiave Estera campo:

classe Cliente (modelli.Modello):
nome = modelli.CharField(max_length=255)
classe Veicolo (modelli.Modello):
cliente = modelli.Chiave Estera(
Cliente,
on_delete=modelli.CASCATA
)

Come visto nel codice sopra, un cliente può avere più veicoli.

Infine, una relazione molti a molti definisce una relazione in cui più tabelle possono essere correlate tra loro. Possiamo crearlo usando il MoltiAMolti campo. Nell'esempio seguente, abbiamo creato due modelli, uno per l'utente e l'altro per i suoi post. Possono esserci anche più utenti poiché ogni utente può avere più post.

classe Utente (modelli.Modello):
post = modelli.ManyToManyField(Post, blank=True)
amici = modelli.ManyTo ManyField(impostazioni.AUTH_USER_MODEL, vuoto=Vero)
classe Post (modelli).Modello):
post = modelli.Campo di testo()
mi piace = modelli.ManyTo ManyField(impostazioni.AUTH_USER_MODEL, blank=True, related_name='user_likes')

Conclusione

Django ORM è uno strumento estremamente potente e ha reso il lavoro degli sviluppatori web molto più semplice. Ha una varietà di funzionalità come la manipolazione dei modelli di database, la creazione di una relazione tra i modelli e molto altro ancora. In poche parole, Django ORM è una delle cose migliori che viene fornita con Django ed è molto efficace nel lavoro che gli viene fornito.

I migliori giochi da giocare con il tracciamento delle mani
Oculus Quest ha recentemente introdotto la grande idea del tracciamento manuale senza controller. Con un numero sempre crescente di giochi e attività ...
Come mostrare l'overlay OSD in app e giochi Linux a schermo intero
Giocare a giochi a schermo intero o utilizzare app in modalità a schermo intero senza distrazioni può tagliarti fuori dalle informazioni di sistema ri...
Le 5 migliori carte di acquisizione del gioco
Abbiamo tutti visto e amato i giochi in streaming su YouTube. PewDiePie, Jakesepticye e Markiplier sono solo alcuni dei migliori giocatori che hanno g...