Inline dan Field Hanya-Baca
Edit baris terkait secara inline dan lindungi field
Inline dan Field Hanya-Baca adalah pelajaran Django Academy gratis di CoddyKit. Ini adalah pelajaran 4 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 Django Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Django Academy mencakup 4 pelajaran total.
Edit Baris Terkait Bersamaan
Terkadang rekaman yang saling terkait sebaiknya berada di halaman yang sama. Inline memungkinkan Anda mengedit baris anak tepat di dalam formulir pengeditan induknya. 🧩
Dua Gaya Inline
Django menyediakan dua tata letak. TabularInline menampilkan baris dalam tabel ringkas, sedangkan StackedInline menumpuk setiap baris sebagai blok tersendiri.
Definisikan Inline
Buat kelas kecil yang merupakan subkelas dari TabularInline dan arahkan atribut modelnya ke model anak yang ingin Anda sematkan.
class CommentInline(admin.TabularInline):
model = CommentHubungkan ke Induk
Cantumkan inline Anda di admin induk. Opsi inlines memberi tahu Django untuk menampilkan baris anak tersebut di dalam formulir induk.
class PostAdmin(admin.ModelAdmin):
inlines = [CommentInline]Sediakan Baris Kosong
Inline menampilkan baris kosong agar penambahan dapat dilakukan dengan cepat. Atur extra untuk mengendalikan jumlah tempat kosong yang muncul; biasanya satu saja sudah cukup.
extra = 1Persyaratan FK
Inline hanya berfungsi jika model anak memiliki ForeignKey ke model induk. Tautan itulah yang membantu Django mengetahui baris mana yang saling terkait.
Lindungi Bidang
Beberapa nilai seharusnya terlihat, tetapi tidak boleh diedit secara manual. Tambahkan nilai tersebut ke readonly_fields dan admin akan menampilkannya dalam keadaan terkunci. 🔒
readonly_fields = ("created", "updated")Stempel Waktu Otomatis
Bidang seperti tanggal auto_now_add diatur oleh Django, bukan oleh pengguna. Menandainya sebagai readonly mencegah pengeditan yang membingungkan dan tidak dapat disimpan.
Tampilkan Nilai Terhitung
readonly_fields juga dapat mencantumkan sebuah metode, sehingga Anda dapat menampilkan nilai terhitung yang tidak memiliki kolom basis data sebenarnya.
def word_count(self, obj):
return len(obj.body.split())Readonly di Dalam Inline
Inline juga menerima readonly_fields. Gunakan opsi tersebut untuk menampilkan data anak dengan jelas, sekaligus menjaga kolom sensitif tetap tidak dapat diedit.
Izin Tetap Berlaku
Readonly berkaitan dengan formulir, bukan keamanan. Akses sebenarnya diatur oleh izin pengguna, jadi gunakan keduanya untuk pengeditan yang aman.
Pemeriksaan Singkat
Apa yang diperlukan agar model muncul sebagai inline?
Ringkasan
Anda menyematkan baris terkait dengan inlines dan mengunci nilai sensitif menggunakan readonly_fields. Bersama-sama, keduanya membuat pengeditan admin menjadi lengkap sekaligus aman. ✅
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Inline dan Field Hanya-Baca” gratis?
Ya — teks lengkap “Inline dan Field Hanya-Baca” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Django Academy, upgrade ke CoddyKit PRO. Kursus Django Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Inline dan Field Hanya-Baca”?
Edit baris terkait secara inline dan lindungi field Kamu berlatih Django 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 Django Academy?
Tidak diperlukan pengalaman sebelumnya. Django 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 4 dari 4.
Berapa lama pelajaran “Inline dan Field Hanya-Baca” 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 Django Academy ini?
Ya. Setiap pelajaran Django 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
- createsuperuser dan Masuk
- Mendaftarkan Model dengan admin.site
- Menyesuaikan ModelAdmin
- Inline dan Field Hanya-Baca