Flask Academy · Pelajaran

Perbarui Record yang Ada dengan Aman

Ubah kolom dan terapkan perubahan dengan benar.

Pelajaran 3 dari 413 langkah

Perbarui Record yang Ada dengan Aman adalah pelajaran Flask Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Flask Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Flask Academy mencakup 4 pelajaran total.

U dalam CRUD

Memperbarui berarti mengubah baris yang sudah ada, bukan membuat yang baru. Caranya adalah memuat rekaman terlebih dahulu, lalu mengeditnya. ✏️

Temukan Sebelum Mengubah

Selalu ambil baris target berdasarkan id sebelum mengubahnya. get_or_404() memuatnya atau menghentikan proses dengan 404 yang jelas.

user = User.query.get_or_404(user_id)

Edit seperti Objek Python

Setelah dimuat, cukup tetapkan ulang atributnya. SQLAlchemy akan mendeteksi perubahan dan menandai objek tersebut sebagai berubah untuk Anda.

user.name = "New Name"

Baca Nilai Baru

Pembaruan biasanya membawa data baru dalam isi permintaan. Uraikan data tersebut dengan get_json() sebelum menerapkan apa pun.

data = request.get_json()

Terapkan Kolom dengan Hati-hati

Timpa hanya kolom yang benar-benar dikirim klien. Menggunakan get() dengan nilai fallback mencegah nilai terhapus menjadi None secara tidak sengaja.

user.name = data.get("name", user.name)

Commit Perubahan

Anda tidak perlu melakukan add() untuk baris yang sudah ada. Satu commit() akan menerapkan edit Anda ke basis data.

db.session.commit()

PUT Mengganti, PATCH Menyesuaikan

Gunakan PUT saat klien mengirim seluruh objek dan PATCH saat klien hanya mengirim kolom yang ingin diubah.

@app.route("/users/<int:id>", methods=["PATCH"])

Validasi Sebelum Menyimpan

Periksa nilai yang masuk sebelum melakukan commit. Tolak data yang tidak valid dengan 400 agar Anda tidak pernah menyimpan rekaman yang rusak.

if not data.get("name"):
    return jsonify(error="name required"), 400

Rollback jika Gagal

Jika commit menimbulkan error, panggil rollback() untuk membuang edit yang hanya diterapkan sebagian dan mengembalikan baris persis seperti semula.

except Exception:
    db.session.rollback()

Kembalikan Baris yang Diperbarui

Respons pembaruan yang baik mengirimkan kembali rekaman terbaru dengan status 200, sehingga klien melihat hasil yang telah disimpan.

return jsonify({"id": user.id, "name": user.name}), 200

Muat, Edit, Commit

Seluruh alur pembaruan terdiri dari tiga langkah: muat baris, ubah atributnya, lalu commit. Tidak ada objek baru yang dibuat.

Pemeriksaan Cepat

Anda mengubah atribut objek yang telah dimuat. Apa yang harus terjadi agar edit tersebut tersimpan?

Rangkuman: Memperbarui Rekaman

Anda memuat dengan get_or_404, menerapkan hanya kolom yang dikirim, melakukan validasi, lalu commit, serta melakukan rollback saat terjadi error. Pembaruan yang aman kini terbuka! 🎉

Gratis untuk memulai

Belajar Python dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
30
Pelajaran
120

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Perbarui Record yang Ada dengan Aman” gratis?

Ya — teks lengkap “Perbarui Record yang Ada dengan Aman” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Flask Academy, upgrade ke CoddyKit PRO. Kursus Flask Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Perbarui Record yang Ada dengan Aman”?

Ubah kolom dan terapkan perubahan dengan benar. Kamu berlatih Flask Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Flask Academy?

Tidak diperlukan pengalaman sebelumnya. Flask Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.

Berapa lama pelajaran “Perbarui Record yang Ada dengan Aman” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Flask Academy ini?

Ya. Setiap pelajaran Flask Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Buat Record dan Commit Sesi
  2. Titik Akhir Baca Satu dan Baca Banyak
  3. Perbarui Record yang Ada dengan Aman
  4. Hapus dan Tangani Baris yang Tidak Ada
← Kembali ke Flask Academy