Come usare Bulk_Create in Django?

Come usare Bulk_Create in Django?

Django Framework può essere utilizzato per creare un'applicazione Web con un database scrivendo lo script in Modelli.Py E visualizzazioni.Py file dell'app Django. I dati possono essere inseriti nelle tabelle del database utilizzando Django Administration Dashboard o scrivendo uno script in visualizzazioni.Py file. Django Administration Dashboard richiede un accesso per un utente autenticato per accedere alle tabelle del database. I record singoli o multipli possono essere inseriti nelle tabelle del database scrivendo uno script. bulk_create () Il metodo è uno dei modi per inserire più record nella tabella del database. Come il bulk_create () Il metodo viene utilizzato per inserire i dati multipli in una tabella di database Django verrà mostrato in questo tutorial.

Prerequisiti:

Prima di praticare la sceneggiatura di questo tutorial, devi completare le seguenti attività:

  1. Installa la versione Django 3+ su Ubuntu 20+ (preferibilmente)
  2. Crea un progetto Django
  3. Esegui il server Django per verificare che il server funzioni correttamente o meno

Imposta un'app Django:

Esegui il seguente comando per creare un'app Django denominata BookApp.

$ Python3 Gestisci.Py Startapp BookApp

Esegui il comando seguente per creare l'utente per accedere al database Django. Se ne hai già creato uno, non è necessario eseguire il comando.

$ Python3 Gestisci.py createsuperuser

Aggiungi il nome dell'app in Installato_app parte di impostazioni.Py file.

Installato_apps = [
..
'bookapp'
"

Crea una cartella denominata modelli dentro il BookApp cartella e impostare la posizione del modello dell'app in Modelli parte di impostazioni.Py file.

Modelli = [

.. .
'Dirs': ['/home/fahmida/django_pro/bookapp/templates'],
.. .
,
"

Crea un modello per la tabella del database:

Apri il Modelli.Py file da BookApp cartella e aggiungere il seguente script per definire la struttura di libri tavoli. Libro la classe è definita per creare una tabella denominata con libri con titolo, autore, prezzo, E pubblicato_year campi. Secondo la sceneggiatura, titolo E autore I campi verranno archiviati Dati dei caratteri e prezzo e pubblicato_year Fields memorizzerà i dati interi. Qui, il titolo Il campo è definito con l'attributo unico. Ciò significa che il valore del titolo Il campo non accetterà dati duplicati.

Modelli.Py

# Modulo dei modelli Importa
da Django.Modelli di importazione DB
# Definisci la lezione di libri per la tabella dei libri
Libro di classe (modelli.Modello):
Titolo = modelli.Charfield (max_length = 100, univoco = true)
autore = modelli.Charfield (max_length = 100)
Price = modelli.Integerfield ()
pubblicato_year = modelli.Integerfield ()

Corri il makemigrations comando per creare una nuova migrazione in base alle modifiche apportate dai modelli.

$ Python3 Gestisci.Py Makemigrations BookApp

Corri il migrare comando di eseguire i comandi SQL e creare tutte le tabelle nel database definite nel Modelli.Py file.

$ Python3 Gestisci.py migrare

Modificare il contenuto del amministratore.Py File con il seguente contenuto. Qui, la classe di libri dei modelli è registrata utilizzando il Registrati() metodo per visualizzare il file libri Tabelle nella dashboard di amministrazione Django.

amministratore.Py

# Importa modulo amministratore
da Django.AMPIONE AMMINIO DI IMPIT
# Importa modello di libro
da .Modelli Import Book
# Registra il modello del libro
amministratore.luogo.Registro (libro)

Crea un file modello denominato DisplayBookList.html dentro il BookApp/ Modelli/ cartella Con il seguente script. Questo script visualizzerà tutti i dati della tabella dei libri in forma tabulare. A parte questo, lo script viene utilizzato per iterare i dati passati dal visualizzazioni.Py file.

DisplayBookList.html



<br>Tutorial django bulk_create ()<br>



Elenco dei libri di Python







% per libro in object_list %



% endfor %
IDNomeAutoreAnno di pubblicazionePrezzo
libro.id libro.titolo libro.autorelibro.pubblicato_year$ libro.prezzo



Modificare il contenuto del visualizzazioni.Py File con il seguente script. Il modello e i nomi dei modelli sono definiti in Bulkinsert classe. get_queryset () Il metodo della classe è definito nello script per restituire tutti i record della tabella dei libri. D'altra parte, Libro.oggetti.Tutto() Il metodo viene utilizzato per restituire tutti i record della tabella dei libri. esiste () Il metodo viene utilizzato nello script per controllare il libri La tabella è vuota o no. Se questo metodo ritorna Falso quindi cinque record saranno inseriti nella tabella dei libri usando il bulk_create () metodo.

visualizzazioni.Py

da Django.scorciatoie rendering di importazione
# Importa modulo ListView
da Django.visualizzazioni.Elenco delle importazioni generiche
# Importa modello di libro
da .Modelli Import Book
# Definisci la classe per l'inserimento di più dati
Classe Bulkinsert (ListView):
# Definisci modello
modello = libro
# Definisci modello
template_name = 'DisplayBookList.html '
# Leggi tutti i record esistenti della tabella dei libri
QuerySet = Book.oggetti.Tutto()
# Controlla che la tabella dei libri è vuota o no
Se queryyset.esiste () == false:
# Inserisci 5 record nella tabella dei libri alla volta
Libro.oggetti.bulk_create ([
Libro (title = 'Python Crash Course, 2nd Edition', Author = 'Eric Matthes', Price = 15, pubblicato_year = 2019),
Libro (title = 'automatizza le cose noiose con python, 2a edizione', autore = 'al sweigart', prezzo = 30,
pubblicato_year = 2019),
Libro (title = 'Learning Python', autore = 'Mark Lutz', Price = 15, pubblicato_year = 2019),
Libro (title = 'Head First Python', autore = 'Paul Barry', prezzo = 45, pubblicato_year = 2016),
Libro (title = 'a byte di python', autore = 'swaroop c h', prezzo = 15, pubblicato_year = 2013),
])
# Restituisci tutti i record della tabella dei libri
def get_queryset (self):
# Imposta il set di query predefinito
Libro di ritorno.oggetti.Tutto()

Modificare il contenuto del URL.Py File con il seguente script. Nella sceneggiatura, l'amministratore/" Il percorso è definito per aprire la dashboard di amministrazione Django e il percorso 'libri/' è definito per chiamare il Bulkinsert.as_view () Metodo che inserirà cinque record nella tabella dei libri e restituirà i record al file modello.

URL.Py

# Importa modulo amministratore
da Django.AMPIONE AMMINIO DI IMPIT
# Percorso di importazione e includi il modulo
da Django.percorso di importazione degli URL
da BookApp Import Views
urlpatterns = [
# Definisci il percorso per l'amministratore
Path ('Admin/', Admin.luogo.URL),
Path ('Books/', Views.Bulkinsert.as_view ()),
"

Aprire la dashboard di amministrazione Django per verificare se i dati vengono inseriti correttamente o meno utilizzando il bulk_create () funzione.

I record inseriti del libri La tabella verrà visualizzata nel browser dopo aver eseguito il seguente URL.

http: // localhost: 8000/libri/

Conclusione:

Record multipli possono essere inseriti nella tabella del database Django in diversi modi usando il bulk_create (). In questo tutorial è stato mostrato un modo semplice per inserire più record nella tabella del database utilizzando questo metodo per aiutare gli utenti di Django a comprendere la logica dietro il processo.