str e a Classe Meta
Torne os objetos legíveis e defina o comportamento da tabela
str e a Classe Meta é uma aula grátis de Django Academy no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Django Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Django Academy inclui 4 aulas no total.
Partes desta aula ainda não foram traduzidas e aparecem em 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! 🎉
Perguntas Frequentes
A aula “str e a Classe Meta” é grátis?
Sim — o texto completo de “str e a Classe Meta” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Django Academy, atualize para CoddyKit PRO. O curso de Django Academy inclui 4 aulas no total.
O que vou aprender em “str e a Classe Meta”?
Torne os objetos legíveis e defina o comportamento da tabela Você pratica Django Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Django Academy?
Nenhuma experiência prévia é necessária. Django Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.
Quanto tempo leva a aula “str e a Classe Meta”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Django Academy?
Sim. Cada aula de Django Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Definindo uma Classe de Modelo
- Escolhendo Tipos de Campo
- Opções de Campo: null, blank, default
- str e a Classe Meta