Excluir um registro de um modelo no Django
Django é uma estrutura versátil que nos permite construir aplicativos full-stack muito rapidamente. Django lida com a maioria das tarefas complexas e centrais associadas a todos os aplicativos da web de forma eficiente para que os desenvolvedores não tenham que escrevê-los do zero.
Felizmente, o Django lida com bancos de dados como um encanto e torna muito simples interagir com eles. Embora consultas SQL brutas possam ser escritas em Django, isso nos permite interagir com o banco de dados e as tabelas usando Python - podemos realizar operações CRUD com eficiência em bancos de dados usando Python muito rapidamente.
Neste artigo, apresentaremos a função de exclusão da Operação CRUD e demonstraremos como você pode excluir um registro de um modelo no Django.
Exclua um registro de um modelo usando o método delete()
no Django
Todos os objetos de modelo ou instâncias no Django têm um método delete()
, que pode ser usado para deletar aquele registro. Agora, este método delete()
também pode ser usado para excluir um único registro e vários deles.
Para excluir um único registro, usaremos o seguinte código:
record = ModelName.objects.get(id=25)
record.delete()
O método get()
busca o registro com o id
como 25 e, em seguida, o exclui. Mas se o registro não for encontrado, ele levantará uma exceção. Para evitar isso, podemos usar um bloco try...except
da seguinte forma:
try:
record = ModelName.objects.get(id=25)
record.delete()
print("Record deleted successfully!")
except:
print("Record doesn't exists")
Se tivermos que deletar todos os registros, podemos chamar esta função delete()
em um QuerySet
contendo todos os registros. O código a seguir executa a mesma operação:
records = ModelName.objects.all()
records.delete()
Como mencionado acima, podemos chamar esta função delete()
em um QuerySet
; isso significa que também podemos chamar esta função em um QuerySet
de alguns registros filtrados. Consulte o seguinte código para a mesma resultado:
records = ModelName.objects.filter(firstName="Vaibhav")
records.delete()