15.1 Modelos em Django: Introdução ao Django
O Django é um framework de alto nível, escrito em Python, que encoraja o desenvolvimento rápido de aplicações web limpas e pragmáticas. Ele foi projetado para ajudar os desenvolvedores a levar suas aplicações do conceito à conclusão o mais rápido possível. Uma das principais características do Django é o seu sistema de modelos, que é um componente essencial para a construção de aplicações web robustas e escaláveis.
Conceito de Modelos em Django
Em Django, um modelo é a representação de um objeto de banco de dados. Ele é uma descrição de como os dados devem ser armazenados e manipulados. Cada modelo em Django é uma classe Python que herda de django.db.models.Model e os atributos da classe representam os campos do banco de dados.
Os modelos são usados para criar, recuperar, atualizar e excluir registros em seu banco de dados usando o Django ORM (Object-Relational Mapping). O ORM do Django permite que você interaja com seu banco de dados, como se estivesse escrevendo Python puro.
Criação de um Modelo em Django
Para criar um modelo em Django, primeiro você precisa definir uma classe que herda de django.db.models.Model. Em seguida, você define os campos do seu modelo. Cada campo é representado por uma instância de uma classe Field - por exemplo, CharField para campos de caracteres e DateTimeField para datas e horas. Ao instanciar um campo, você pode especificar uma variedade de atributos. Por exemplo, você pode usar o atributo 'max_length' para limitar o comprimento máximo de um CharField.
class Book(models.Model):
title = models.CharField(max_length=200)
publication_date = models.DateTimeField()
Uma vez que o modelo é definido, o Django irá criar uma tabela de banco de dados para esse modelo. O nome da tabela é o nome do modelo, com todas as letras minúsculas.
Manipulação de Modelos em Django
Com os modelos definidos, você pode usar o Django ORM para criar, recuperar, atualizar e excluir registros em seu banco de dados. Para criar um novo registro, você instancia um novo modelo e chama o método save().
book = Book(title='The Django Book', publication_date=datetime.now())
book.save()
Para recuperar registros, você usa o atributo objects do modelo, que é um Manager. O Manager é uma interface através da qual as operações de banco de dados são fornecidas. Você pode usar métodos como get() e filter() para recuperar registros.
book = Book.objects.get(title='The Django Book')
books = Book.objects.filter(publication_date__year=2020)
Para atualizar um registro, você altera os atributos do modelo e chama o método save(). Para excluir um registro, você chama o método delete().
book.title = 'The Django Book: Second Edition'
book.save()
book.delete()
Em resumo, os modelos em Django são uma ferramenta poderosa para lidar com bancos de dados. Eles permitem que você interaja com seu banco de dados como se estivesse escrevendo Python puro, e eles fornecem uma maneira conveniente de definir a estrutura de seus dados. Com os modelos em Django, você pode se concentrar em escrever o seu código, em vez de se preocupar com as peculiaridades do seu banco de dados.