Flask Academy · Lekcja

Usuwanie i obsługa brakujących wierszy

Usuwaj rekordy i zwracaj 404, gdy ich nie ma.

Lekcja 4 z 413 kroki

Usuwanie i obsługa brakujących wierszy to bezpłatna lekcja Flask Academy na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Flask Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Flask Academy zawiera 4 lekcji w sumie.

D w CRUD

Usunięcie bezpowrotnie usuwa wiersz. Podobnie jak w przypadku aktualizacji, najpierw pobierasz rekord, a następnie polecasz sesji go usunąć. 🗑️

Pobierz docelowy wiersz

Pobierz rekord po identyfikatorze przed usunięciem. Dzięki get_or_404() brakujący identyfikator kończy żądanie w kontrolowany sposób kodem 404.

user = User.query.get_or_404(user_id)

Oznacz do usunięcia

Przygotuj usunięcie za pomocą db.session.delete(). Wiersz nie został jeszcze usunięty — oczekuje na wykonanie w bieżącej transakcji.

db.session.delete(user)

Zatwierdź, aby usunąć

Tak jak w przypadku każdego zapisu, nic się nie stanie, dopóki nie wykonasz commit(). Spowoduje to wykonanie DELETE i rzeczywiste usunięcie wiersza.

db.session.delete(user)
db.session.commit()

Najpierw obsłuż brakujące wiersze

Usunięcie nieistniejącego identyfikatora jest błędem po stronie klienta. Odpowiedz kodem 404, zamiast udawać, że operacja się powiodła.

user = User.query.get(user_id)
if user is None:
    return jsonify(error="not found"), 404

204 No Content

Poprawnie wykonane usunięcie często zwraca 204 — status oznaczający powodzenie bez użytecznej treści do odesłania.

return "", 204

Wycofaj zmiany w razie błędu

Jeśli zatwierdzenie się nie powiedzie, na przykład z powodu blokady klucza obcego, wywołaj rollback(), aby cofnąć przygotowane usunięcie i zachować spójność danych.

except Exception:
    db.session.rollback()

Usuwanie jest idempotentne

Dwukrotne wywołanie delete dla tego samego identyfikatora powinno zachowywać się tak samo: wiersz jest po prostu nieobecny, więc ponowne 404 jest w porządku.

Uważaj na relacje

Usunięcie elementu nadrzędnego może pozostawić elementy podrzędne bez powiązania. Skonfiguruj cascade dla relacji, aby powiązane wiersze również zostały usunięte.

posts = relationship("Post", cascade="all, delete")

Rozważ usuwanie miękkie

Czasami nie należy usuwać danych na stałe. Soft delete zamiast tego zmienia flagę is_deleted, zachowując wiersz na potrzeby audytów.

user.is_deleted = True
db.session.commit()

Wczytaj, usuń, zatwierdź

Przepływ usuwania przypomina aktualizację: load wczytuje wiersz, następnie oznaczasz go do usunięcia i zatwierdzasz zmianę. Brakujące identyfikatory otrzymują zwięzłą odpowiedź 404.

Szybkie sprawdzenie

Żądanie DELETE kończy się powodzeniem i nie ma treści do zwrócenia. Który kod statusu najlepiej pasuje?

Podsumowanie: usuwanie rekordów

Wczytujesz dane za pomocą get_or_404, wywołujesz delete, zatwierdzasz zmianę i zwracasz 204, a kaskadowe oraz miękkie usuwanie pozostawiasz jako rozsądne opcje. CRUD ukończony! 🎉

Bezpłatny start

Ucz się Python dzięki korepetycjom AI — za darmo

Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.

Kursy
30
Lekcje
120

Często zadawane pytania

Czy lekcja „Usuwanie i obsługa brakujących wierszy” jest bezpłatna?

Tak — pełny tekst „Usuwanie i obsługa brakujących wierszy” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Flask Academy, przejdź na CoddyKit PRO. Kurs Flask Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Usuwanie i obsługa brakujących wierszy”?

Usuwaj rekordy i zwracaj 404, gdy ich nie ma. Ćwiczysz Flask Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Flask Academy?

Nie wymagamy żadnego doświadczenia. Flask Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.

Ile czasu zajmuje lekcja „Usuwanie i obsługa brakujących wierszy”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Flask Academy?

Tak. Każda lekcja Flask Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Tworzenie rekordów i zatwierdzanie sesji
  2. Endpointy odczytu jednego i wielu rekordów
  3. Bezpieczna aktualizacja istniejących rekordów
  4. Usuwanie i obsługa brakujących wierszy
← Powrót do Flask Academy