Usuwanie i obsługa brakujących wierszy
Usuwaj rekordy i zwracaj 404, gdy ich nie ma.
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"), 404204 No Content
Poprawnie wykonane usunięcie często zwraca 204 — status oznaczający powodzenie bez użytecznej treści do odesłania.
return "", 204Wycofaj 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! 🎉
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
- Tworzenie rekordów i zatwierdzanie sesji
- Endpointy odczytu jednego i wielu rekordów
- Bezpieczna aktualizacja istniejących rekordów
- Usuwanie i obsługa brakujących wierszy