Perbarui Record yang Ada dengan Aman
Ubah kolom dan terapkan perubahan dengan benar.
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"), 400Rollback 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}), 200Muat, 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! 🎉
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
- Buat Record dan Commit Sesi
- Titik Akhir Baca Satu dan Baca Banyak
- Perbarui Record yang Ada dengan Aman
- Hapus dan Tangani Baris yang Tidak Ada