Criando registros
Parte da seção Models e o Admin do Journey de Django da Coddy. Lição 7 de 23.
Sua estante precisa de livros novos, e você nunca escreverá SQL, a linguagem que os bancos de dados falam. Todo modelo tem Book.objects, seu gerenciador: seus métodos leem e gravam na tabela. O ORM (mapeador objeto-relacional) do Django transforma essas chamadas em SQL. Neste capítulo, você escreverá código ORM em explore.py. Ao executar, nove livros são adicionados e, em seguida, o arquivo é executado da mesma forma que python manage.py shell < explore.py faria; o que ele imprime aparece no Console.
Book.objects.create(title="Beloved", author="Toni Morrison", year=1987, price="13.00")create() cria uma linha e a salva em uma única etapa; um campo que você deixar de fora recebe seu valor padrão. O mesmo processo em duas etapas, com uma alteração no meio:
silmarillion = Book(title="The Silmarillion", author="J.R.R. Tolkien", year=1977, price="10.50")
silmarillion.is_read = True
silmarillion.save()Até que save() seja executado, o objeto existe apenas no Python e seu id é None.
Desafio
FácilEm explore.py, acima de print, adicione dois livros.
- Com
create():Project Hail MarydeAndy Weir, ano2021, preço12.99, ficção científica. Armazene o valor do gênero,scifi, não o rótulo; obtenha-o da sua classeGenre. - Criando um
Booke chamandosave():Klara and the SundeKazuo Ishiguro, ano2021, preço11.50.
Pressione Executar: o Console exibe 11 books on the shelf.
Experimente você mesmo
from books.models import Book
# Adicione os dois livros aqui.
print(Book.objects.count(), "books on the shelf")
Todas as lições de Models e o Admin
2Consultas com o ORM
Criando registrosAll e GetFiltros e consultasContando registrosOrdenando registrosAtualizar e excluirPratique por conta própria: Playground de Django