Borrar registros en Django
En cualquier sistema CRUD, la operación de borrar o eliminar (en inglés, "delete") permtie borrar un registro o un conjunto de ellos desde la base de datos; esta es una de las operaciones más sencillas de realizar pero tambien la más riesgosa, ya que, es una operación que no se puede revertir; una ver eliminado el registro no hay vuelta atras y no se puede recuperar el registro por lo tanto, usualmente es una operación que es limitada ya sea por privilegios, o agegando dialogos de advertencia entre otros tipos de soluciones; de momento, para los que nos interesa es realizar la operación y listo, sin preocuparnos de implementar lógica adicional para evitar este tipo de operaciones:
Como parte de nuestro CRUD, tenemos la fase de eliminación, la cual consiste en dos pasos fundamentales:
- Obtener referencia al elemento que queremos eliminar mediante el ORM.
Borrar el mismo.
def delete(request, pk):
product = get_object_or_404(Product, id=pk)
product.delete()
return redirect('gestion:index')
Por lo demás, una vez borrado puedes hacer generalmente un par de cosas, aquí hacemos una redirección, pero si por ejemplo, esta función es consumida mediante JavaScript, puedes devolver un json con una respuesta a analizar.
Finalmente, la referencia a la función anterior:
<a href="{% url 'gestion:delete' p.id %}">Borrar</a>
- Andrés Cruz
Desarrollo con Laravel, Django, Flask, CodeIgniter, HTML5, CSS3, MySQL, JavaScript, Vue, Android, iOS, Flutter