0Pricing
Flask Academy · Урок

Удаление и обработка отсутствующих строк

Удаляйте записи и возвращайте 404, если их нет.

«Удаление и обработка отсутствующих строк» — бесплатный урок Flask Academy на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Flask Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Flask Academy содержит 4 уроков всего.

Части этого урока еще не переведены и отображаются на английском.

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

Часто задаваемые вопросы

Урок «Удаление и обработка отсутствующих строк» бесплатный?

Да — полный текст урока «Удаление и обработка отсутствующих строк» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Flask Academy, подпишись на CoddyKit PRO. Курс Flask Academy содержит 4 уроков всего.

Чему я научусь в уроке «Удаление и обработка отсутствующих строк»?

Удаляйте записи и возвращайте 404, если их нет. Ты практикуешь Flask Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Flask Academy?

Предыдущий опыт не требуется. Flask Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.

Сколько времени занимает урок «Удаление и обработка отсутствующих строк»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Flask Academy?

Да. Каждый урок Flask Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Создание записей и фиксация сеансов
  2. Конечные точки чтения одной и многих записей
  3. Безопасное обновление существующих записей
  4. Удаление и обработка отсутствующих строк
← Назад к Flask Academy