str y la clase Meta
Haga legibles los objetos y configure el comportamiento de la tabla
str y la clase Meta es una lección gratuita de Django Academy en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Django Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Django Academy incluye 4 lecciones en total.
Partes de esta lección aún no han sido traducidas y se muestran en inglés.
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! 🎉
Preguntas frecuentes
¿La lección «str y la clase Meta» es gratis?
Sí — el texto completo de «str y la clase Meta» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Django Academy, actualiza a CoddyKit PRO. El curso de Django Academy incluye 4 lecciones en total.
¿Qué aprenderé en «str y la clase Meta»?
Haga legibles los objetos y configure el comportamiento de la tabla Practicas Django Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Django Academy?
No se requiere experiencia previa. Django Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.
¿Cuánto tiempo toma la lección «str y la clase Meta»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Django Academy?
Sí. Cada lección de Django Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Definir una clase de modelo
- Elegir tipos de campo
- Opciones de campo: null, blank, default
- str y la clase Meta