Elimine registros y gestione filas ausentes
Elimine registros y devuelva 404 cuando no existan.
Elimine registros y gestione filas ausentes es una lección gratuita de Flask Academy en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Flask Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Flask Academy incluye 4 lecciones en total.
Partes de esta lección aún no han sido traducidas y se muestran en inglés.
The D in CRUD
Deleting removes a row for good. Like updating, you first load the record, then tell the session to drop it. 🗑️
Load the Target Row
Fetch the record by id before deleting. With get_or_404() a missing id stops the request cleanly with a 404.
user = User.query.get_or_404(user_id)Mark It for Deletion
Stage the removal with db.session.delete(). The row is not gone yet, just queued in the current transaction.
db.session.delete(user)Commit to Remove
As with every write, nothing happens until you commit(). That executes the DELETE and the row is gone for real.
db.session.delete(user)
db.session.commit()Handle Missing Rows First
Deleting an id that does not exist is a client error. Reply with 404 rather than pretending it worked.
user = User.query.get(user_id)
if user is None:
return jsonify(error="not found"), 404204 No Content
A clean delete often returns 204, the status that means success with nothing useful left to send back.
return "", 204Roll Back on Error
If the commit fails, perhaps a foreign key blocks it, call rollback() to undo the staged delete and keep data consistent.
except Exception:
db.session.rollback()Delete Is Idempotent
Calling delete twice on the same id should behave the same: the row is simply absent, so a repeat 404 is fine.
Watch the Relationships
Deleting a parent can orphan children. Configure cascade on the relationship so related rows are cleaned up too.
posts = relationship("Post", cascade="all, delete")Consider Soft Deletes
Sometimes you should not erase data. A soft delete flips an is_deleted flag instead, keeping the row for audits.
user.is_deleted = True
db.session.commit()Load, Delete, Commit
The delete flow mirrors update: load the row, mark it for deletion, then commit. Missing ids get a tidy 404.
Quick Check
A DELETE request succeeds and there is no body to return. Which status fits best?
Recap: Deleting Records
You load with get_or_404, call delete, commit, and answer 204, with cascades and soft deletes as smart options. CRUD complete! 🎉
Preguntas frecuentes
¿La lección «Elimine registros y gestione filas ausentes» es gratis?
Sí — el texto completo de «Elimine registros y gestione filas ausentes» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Flask Academy, actualiza a CoddyKit PRO. El curso de Flask Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Elimine registros y gestione filas ausentes»?
Elimine registros y devuelva 404 cuando no existan. Practicas Flask Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Flask Academy?
No se requiere experiencia previa. Flask Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.
¿Cuánto tiempo toma la lección «Elimine registros y gestione filas ausentes»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Flask Academy?
Sí. Cada lección de Flask Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Cree registros y confirme sesiones
- Endpoints de lectura individual y múltiple
- Actualice registros existentes de forma segura
- Elimine registros y gestione filas ausentes