Metadados
Metadados são "dados sobre dados". Eles descrevem as características ou atributos de um objeto ou classe, fornecendo informações adicionais, mas não alteram diretamente o dado principal. por exemplo: Um campo de formulário (o dado principal) pode ter metadados como rótulos, mensagens de erro e tamanhos específicos. Um modelo de banco de dados pode ter metadados indicando como os dados serão ordenados ou armazenados.
A classe Meta no Django é uma subclasse (classe aninhada) usada para definir metadados (informações adicionais) de uma classe principal. Permitindo a personalização sem alterar diretamente a lógica principal.
class Produto(models.Model):
nome = models.CharField(max_length=100)
preco = models.DecimalField(max_digits=10, decimal_places=2)
class Meta:
# Define a ordem padrão em que os objetos do modelo serão recuperados ao realizar consultas no banco de dados.
ordering = ['preco']
# Define o nome plural do modelo em interfaces como o Django Admin
verbose_name_plural = 'Produtos'
# Define o nome da tabela no banco de dados
db_table = 'produto'
Essas opções não alteram diretamente os campos do modelo, mas sim o comportamento geral dele, como nome, ordenação, permissões e mais.