Excluir um registro de um modelo no Django

Vaibhav Vaibhav 18 julho 2021
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()
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.

Artigo relacionado - Django Model