0Pricing
Django Academy · Aula

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.title

Where __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

  1. Definindo uma Classe de Modelo
  2. Escolhendo Tipos de Campo
  3. Opções de Campo: null, blank, default
  4. str e a Classe Meta
← Voltar para Django Academy