str dan Kelas Meta
Buat objek mudah dibaca dan tetapkan perilaku tabel
str dan Kelas Meta 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.
Bagian dari pelajaran ini belum diterjemahkan dan ditampilkan dalam bahasa Inggris.
Make Objects Readable
Out of the box, a model object prints as a vague Object 1. You can fix that and also shape table behavior cleanly.
Define __str__
Add a __str__ method to return a friendly label. Now your object shows its title instead of a useless number.
class Book(models.Model):
title = models.CharField(max_length=200)
def __str__(self):
return self.titleWhere __str__ Shows Up
That __str__ label appears in the admin, the shell, and templates, making every object instantly recognizable. 👀
Always Return a String
Your __str__ must return a string. If a field might be a number, wrap it with str() before returning it.
def __str__(self):
return str(self.year)Meet the Meta Class
An inner Meta class holds options about the model as a whole, separate from its fields. It tunes how the table behaves.
class Book(models.Model):
class Meta:
ordering = ["title"]ordering Sets Default Sort
The ordering Meta option sets how query results sort by default, so lists come back in a predictable order.
class Meta:
ordering = ["-created"]Friendly Names with verbose_name
Use verbose_name and verbose_name_plural in Meta to control the labels Django shows in the admin interface.
class Meta:
verbose_name_plural = "Books"Custom Table Name
Override the generated table name with db_table in Meta when you need to match an existing or legacy database.
class Meta:
db_table = "catalog_books"Cross-Field Uniqueness
The unique_together Meta option requires a combination of fields to be unique, like one slug per author.
class Meta:
unique_together = ["author", "slug"]Meta Describes the Model
Think of Meta as settings for the whole model, while fields and __str__ describe its data and display.
Both Are Optional but Worth It
You can skip __str__ and Meta, but adding them makes your models far nicer to work with day to day.
Quick Check
What is the main job of the __str__ method on a model?
Recap: __str__ and Meta
You learned that __str__ gives objects a readable name and the Meta class tunes model-wide behavior like ordering and names. Polished models! 🎉
Pertanyaan yang Sering Diajukan
Apakah pelajaran “str dan Kelas Meta” gratis?
Ya — teks lengkap “str dan Kelas Meta” 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 “str dan Kelas Meta”?
Buat objek mudah dibaca dan tetapkan perilaku tabel 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 “str dan Kelas Meta” 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.