0Pricing
Flask Academy · Leçon

Supprimer et gérer les lignes absentes

Supprimez les enregistrements et renvoyez 404 s’ils sont absents.

Supprimer et gérer les lignes absentes est une leçon Flask Academy gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Flask Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Flask Academy comprend 4 leçons au total.

Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.

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"), 404

204 No Content

A clean delete often returns 204, the status that means success with nothing useful left to send back.

return "", 204

Roll 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! 🎉

Questions Fréquemment Posées

La leçon « Supprimer et gérer les lignes absentes » est-elle gratuite ?

Oui — le texte complet de « Supprimer et gérer les lignes absentes » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Flask Academy, passe à CoddyKit PRO. Le cours Flask Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Supprimer et gérer les lignes absentes » ?

Supprimez les enregistrements et renvoyez 404 s’ils sont absents. Tu pratiques Flask Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Flask Academy ?

Aucune expérience préalable n'est requise. Flask Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.

Combien de temps prend la leçon « Supprimer et gérer les lignes absentes » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Flask Academy ?

Oui. Chaque leçon Flask Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Créer des enregistrements et valider les sessions
  2. Points d’entrée pour lire un élément ou plusieurs
  3. Mettre à jour les enregistrements existants en toute sécurité
  4. Supprimer et gérer les lignes absentes
← Retour à Flask Academy