Django Academy · Pelajaran

Menukar Model dan Melakukan Migrasi Semula

Tambah medan dan masukkan perubahan ke dalam DB.

Pelajaran 3 daripada 413 langkah

Menukar Model dan Melakukan Migrasi Semula ialah pelajaran Django Academy percuma di CoddyKit. Ini ialah pelajaran 3 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Django Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Django Academy merangkumi sejumlah 4 pelajaran.

Model Berkembang

Aplikasi sebenar berubah. Apabila sesuatu ciri memerlukan lajur baharu, anda mengedit model dan membiarkan Migration membawa perubahan itu ke pangkalan data.

Langkah 1: Edit Model

Mulakan dengan menambah medan dalam kelas model anda. Di sini anda memberikan Post penanda published dengan nilai lalai yang munasabah.

class Post(models.Model):
    title = models.CharField(max_length=200)
    published = models.BooleanField(default=False)

Langkah 2: makemigrations

Jalankan makemigrations. Django membandingkan model baharu dengan model sebelumnya dan menulis Migration baharu untuk medan yang ditambah.

python manage.py makemigrations

Langkah 3: migrate

Jalankan migrate untuk menggunakan fail baharu itu. Lajur tersebut kini wujud dalam jadual sebenar dan sedia digunakan.

python manage.py migrate

Nilai Lalai Mengisi Baris Lama

Menambah medan yang tidak boleh kosong pada jadual berisi memerlukan nilai untuk baris sedia ada. default mengisinya dengan kemas.

Tiada Nilai Lalai? Django Bertanya

Tanpa nilai lalai, makemigrations berhenti dan meminta anda memberikan nilai one-off untuk baris sedia ada sebelum meneruskan.

Setiap Perubahan Ialah Fail Baharu

Django tidak pernah mengedit Migration lama. Setiap perubahan model menjadi fail bernombor baharu yang disusun di atas fail terakhir.

Menamakan Semula Medan

Namakan semula medan dan Django mungkin bertanya sama ada anda menamakannya semula, bukannya memadam lalu menambahnya semula. Jawab ya untuk mengekalkan data lajur.

Mengalih Keluar Medan

Padam medan daripada model, kemudian makemigrations menulis langkah RemoveField. Gunakannya dan lajur itu akan hilang selama-lamanya.

Membalikkan Migration

Untuk membuat asal, kembali ke nombor yang lebih awal menggunakan migrate. Django menjalankan Migration secara songsang untuk memulihkan skema sebelumnya.

python manage.py migrate blog 0001

Lakukan Commit pada Fail

Sentiasa lakukan commit pada Migration baharu bersama-sama suntingan model anda. Rakan sepasukan menjalankan migrate dan memperoleh skema yang sama tanpa kejutan.

Semakan Pantas

Anda menambah medan yang diperlukan pada jadual yang sudah mempunyai baris. Apakah yang diperlukan oleh Django?

Ringkasan

Gelungnya mudah: edit model, makemigrations, migrate, commit. Setiap perubahan menjadi fail baharu, jadi sejarah anda kekal tepat. ✅

Percuma untuk bermula

Pelajari Python dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
30
Pelajaran
120

Soalan Lazim

Adakah pelajaran “Menukar Model dan Melakukan Migrasi Semula” percuma?

Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Django Academy, termasuk “Menukar Model dan Melakukan Migrasi Semula”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Django Academy merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Menukar Model dan Melakukan Migrasi Semula”?

Tambah medan dan masukkan perubahan ke dalam DB. Anda berlatih Django Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Django Academy?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Django Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 3 daripada 4.

Berapa lamakah pelajaran “Menukar Model dan Melakukan Migrasi Semula” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Django Academy ini?

Ya. Setiap pelajaran Django Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. makemigrations vs migrate
  2. Membaca File Migrasi
  3. Menukar Model dan Melakukan Migrasi Semula
  4. sqlmigrate dan Memeriksa SQL
← Kembali ke Django Academy