Pitão

Como usar bulk_create () no Django?

Como usar bulk_create () no Django?

O framework Django pode ser usado para criar uma aplicação web com um banco de dados escrevendo um script em modelos.py e Visualizações.py arquivos do aplicativo Django. Os dados podem ser inseridos nas tabelas de banco de dados usando Django Administration Dashboard ou escrevendo um script no Visualizações.py Arquivo. O Django Administration Dashboard requer um login para um usuário autenticado para acessar as tabelas do banco de dados. Registros únicos ou múltiplos podem ser inseridos nas tabelas do banco de dados escrevendo um script. bulk_create () método é uma das maneiras de inserir vários registros na tabela do banco de dados. Como bulk_create () método é usado para inserir os dados múltiplos em uma tabela de banco de dados Django será mostrado neste tutorial.

Pré-requisitos:

Antes de praticar o script deste tutorial, você deve concluir as seguintes tarefas:

  1. Instale o Django versão 3+ no Ubuntu 20+ (de preferência)
  2. Crie um projeto Django
  3. Execute o servidor Django para verificar se o servidor está funcionando corretamente ou não

Configure um aplicativo Django:

Execute o seguinte comando para criar um aplicativo Django chamado bookapp.

$ python3 manage.py startapp bookapp

Execute o seguinte comando para criar o usuário para acessar o banco de dados Django. Se você já criou um, não precisa executar o comando.

$ python3 manage.py cria superusuário

Adicione o nome do aplicativo no INSTALLED_APP parte de definições.py Arquivo.

INSTALLED_APPS = [

'bookapp'
]

Crie uma pasta chamada modelos dentro de bookapp pasta e definir a localização do modelo do aplicativo no MODELOS parte de definições.py Arquivo.

MODELOS = [

… .
'DIRS': ['/ home / fahmida / django_pro / bookapp / templates'],
… .
,
]

Crie um modelo para a tabela de banco de dados:

Abra o modelos.py arquivo do bookapp pasta e adicione o seguinte script para definir a estrutura de livros mesas. Livro classe é definida para criar uma tabela chamada livros com título, autor, preço, e publicado_ano Campos. De acordo com o roteiro, título e autor campos irão armazenar dados de personagem, preço e publicado_ano campos irão armazenar os dados inteiros. Aqui o título campo é definido com o atributo único. Isso significa que o valor do título campo não aceitará dados duplicados.

modelos.py

# Módulo de importação de modelos
de django.modelos de importação db
# Defina a classe Book para a tabela de livros
classe Livro (modelos.Modelo):
title = models.CharField (max_length = 100, unique = True)
autor = modelos.CharField (max_length = 100)
preço = modelos.IntegerField ()
publicado_ano = modelos.IntegerField ()

Execute o fazer migrações comando para criar uma nova migração com base nas mudanças feitas pelos modelos.

$ python3 manage.py makemigrations bookapp

Execute o migrar comando para executar os comandos SQL e criar todas as tabelas no banco de dados que são definidas no modelos.py Arquivo.

$ python3 manage.py migrar

Modifique o conteúdo do admin.py arquivo com o seguinte conteúdo. Aqui, a classe Book dos modelos é registrada usando o registro() método para exibir o livros tabelas no painel de administração do Django.

admin.py

# Importar módulo de administração
de django.contrib import admin
# Importar modelo de livro
a partir de .modelos importar livro
# Registrar modelo de livro
admin.local.registrar (livro)

Crie um arquivo de modelo chamado DisplayBookList.html dentro de bookapp / templates / folder com o seguinte script. Este script irá mostrar todos os dados da tabela de livros em formato tabular. Fora isso, o loop for é usado no script para iterar os dados passados ​​do Visualizações.py Arquivo.

DisplayBookList.html



<br>Django bulk_create () Tutorial<br>



Lista de livros Python







% para o livro em object_list%



% endfor%
EU IANomeAutorAno de PublicaçãoPreço
livro.eu ia livro.título livro.autorlivro.publicado_ano$ livro.preço



Modifique o conteúdo do Visualizações.py arquivo com o seguinte script. O modelo e os nomes dos modelos são definidos no BulkInsert aula. get_queryset () método da classe é definido no script para retornar todos os registros da tabela de livros. Por outro lado, Livro.objetos.tudo() método é usado para retornar todos os registros da tabela de livros. existe() método é usado no script para verificar o livros mesa está vazia ou não. Se este método retornar Falso em seguida, cinco registros serão inseridos na tabela de livros usando o bulk_create () método.

Visualizações.py

de django.importação de atalhos renderização
# Importar módulo ListView
de django.Visualizações.importação genérica ListView
# Importar modelo de livro
a partir de .modelos importar livro
# Defina a classe para inserir vários dados
classe BulkInsert (ListView):
# Definir modelo
modelo = livro
# Definir modelo
template_name = 'DisplayBookList.html '
# Leia todos os registros existentes da tabela de livros
queryset = Livro.objetos.tudo()
# Verifique se a tabela de livros está vazia ou não
se queryset.existe () == Falso:
# Insira 5 registros na tabela de livros por vez
Livro.objetos.bulk_create ([
Livro (título = 'Python Crash Course, 2ª edição', autor = 'Eric Matthes', preço = 15, publicado_ano = 2019),
Livro (título = 'Automatizar as coisas chatas com Python, 2ª edição', autor = 'Al Sweigart', preço = 30,
publicado_ano = 2019),
Livro (título = 'Aprendendo Python', autor = 'Mark Lutz', preço = 15, publicado_ano = 2019),
Livro (título = 'Use primeiro Python', autor = 'Paul Barry', preço = 45, publicado_ano = 2016),
Livro (título = 'A Byte de Python', autor = 'Swaroop C H', preço = 15, publicado_ano = 2013),
])
# Retorna todos os registros da tabela de livros
def get_queryset (self):
# Defina o conjunto de consulta padrão
devolver livro.objetos.tudo()

Modifique o conteúdo do urls.py arquivo com o seguinte script. No roteiro, o 'admin /' o caminho é definido para abrir o Painel de Administração do Django e o caminho 'books /' é definido para chamar o BulkInsert.as_view () método que irá inserir cinco registros na tabela de livros e retornar os registros para o arquivo de modelo.

urls.py

# Importar módulo de administração
de django.contrib import admin
# Importar caminho e incluir módulo
de django.caminho de importação de urls
de visualizações de importação de bookapp
urlpatterns = [
# Defina o caminho para o administrador
caminho ('admin /', admin.local.urls),
caminho ('livros /', visualizações.BulkInsert.as_view ()),
]

Abra o Django Administration Dashboard para verificar se os dados estão inseridos corretamente ou não usando o bulk_create () função.

Os registros inseridos do livros a tabela será exibida no navegador após a execução da seguinte URL.

http: // localhost: 8000 / books /

Conclusão:

Vários registros podem ser inseridos na tabela de banco de dados do Django de maneiras diferentes usando o bulk_create (). Uma maneira simples de inserir vários registros na tabela de banco de dados usando este método foi mostrada neste tutorial para ajudar os usuários do Django a entender a lógica por trás do processo.

Como desenvolver um jogo no Linux
Uma década atrás, poucos usuários de Linux preveriam que seu sistema operacional favorito um dia seria uma plataforma de jogos popular para videogames...
Portas de código aberto para motores de jogos comerciais
Recriações gratuitas, de código aberto e de mecanismo de jogo de plataforma cruzada podem ser usadas para jogar jogos antigos, bem como alguns dos tít...
Melhores jogos de linha de comando para Linux
A linha de comando não é apenas sua maior aliada ao usar o Linux - ela também pode ser uma fonte de entretenimento porque você pode usá-la para jogar ...