Elimina un record di un modello in Django

Vaibhav Vaibhav 18 luglio 2021
Elimina un record di un modello in Django

Django è un framework versatile che ci consente di creare applicazioni full-stack molto rapidamente. Django gestisce la maggior parte delle attività complesse e fondamentali associate a tutte le applicazioni web in modo efficiente in modo che gli sviluppatori non debbano scriverle da zero.

Fortunatamente, Django gestisce i database come un incantesimo e rende davvero semplice l’interazione con essi. Sebbene le query SQL non elaborate possano essere scritte in Django, ci consente di interagire con il database e le tabelle utilizzando Python: possiamo eseguire in modo efficiente operazioni CRUD su database utilizzando Python molto rapidamente.

In questo articolo, introdurremo la funzione dell’operazione CRUD delete e dimostreremo come è possibile eliminare un record di un modello in Django.

Eliminare un record di un modello utilizzando il metodo delete() in Django

Tutti gli oggetti o le istanze del modello in Django hanno un metodo delete(), che può essere utilizzato per eliminare quel record. Ora, questo metodo delete() può essere utilizzato anche per eliminare un singolo record e un gruppo di essi.

Per eliminare un singolo record, utilizzeremo il seguente codice:

record = ModelName.objects.get(id=25)
record.delete()

Il metodo get() recupera il record con id come 25 e quindi lo elimina. Ma se il record non viene trovato, solleva un’eccezione. Per evitare ciò, possiamo usare un blocco try...except come segue:

try:
    record = ModelName.objects.get(id=25)
    record.delete()
    print("Record deleted successfully!")
except:
    print("Record doesn't exists")

Se dobbiamo eliminare tutti i record, possiamo chiamare questa funzione delete() su un QuerySet contenente tutti i record. Il codice seguente esegue la stessa operazione:

records = ModelName.objects.all()
records.delete()

Come accennato in precedenza, possiamo chiamare questa funzione delete() su un QuerySet; ciò significa che possiamo anche chiamare questa funzione su un QuerySet di alcuni record filtrati. Fare riferimento al codice seguente per lo stesso output:

records = ModelName.objects.filter(firstName="Vaibhav")
records.delete()
Vaibhav Vaibhav avatar Vaibhav Vaibhav avatar

Vaibhav is an artificial intelligence and cloud computing stan. He likes to build end-to-end full-stack web and mobile applications. Besides computer science and technology, he loves playing cricket and badminton, going on bike rides, and doodling.

Articolo correlato - Django Model