Eliminar un registro de un modelo en Django

Vaibhav Vaibhav 18 julio 2021
Eliminar un registro de un modelo en Django

Django es un marco versátil que nos permite crear aplicaciones full-stack muy rápidamente. Django maneja la mayoría de las tareas complejas y centrales asociadas con todas las aplicaciones web de manera eficiente para que los desarrolladores no tengan que escribirlas desde cero.

Afortunadamente, Django maneja las bases de datos como un encanto y hace que sea realmente sencillo interactuar con ellas. Aunque las consultas SQL sin procesar se pueden escribir en Django, nos permite interactuar con la base de datos y las tablas usando Python; podemos realizar de manera eficiente operaciones CRUD sobre bases de datos usando Python muy rápidamente.

En este artículo, presentaremos la función de eliminación de la operación CRUD y demostraremos cómo puede eliminar un registro de un modelo en Django.

Eliminar un registro de un modelo usando el método delete() en Django

Todos los objetos o instancias del modelo en Django tienen un método delete(), que puede usarse para borrar ese registro. Ahora, este método delete() también se puede utilizar para eliminar un solo registro y muchos de ellos.

Para eliminar un solo registro, usaremos el siguiente código:

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

El método get() recupera el registro con el id como 25 y luego lo elimina. Pero si no se encuentra el registro, genera una excepción. Para evitar eso, podemos usar un bloque try...except de la siguiente manera:

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

Si tenemos que eliminar todos los registros, podemos llamar a esta función delete() en un QuerySet que contiene todos los registros. El siguiente código realiza la misma operación:

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

Como se mencionó anteriormente, podemos llamar a esta función delete() en un QuerySet; esto significa que también podemos llamar a esta función en un QuerySet de algunos registros filtrados. Consulte el siguiente código para obtener el mismo 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.

Artículo relacionado - Django Model