Pitone

Come usare bulk_create() in Django?

Come usare bulk_create() in Django?

Il framework Django può essere utilizzato per creare un'applicazione web con un database scrivendo uno script in Modelli.pi e visualizzazioni.pi file dell'app Django. I dati possono essere inseriti nelle tabelle del database utilizzando Django Administration Dashboard o scrivendo uno script nel visualizzazioni.pi file. Django Administration Dashboard richiede un login per un utente autenticato per accedere alle tabelle del database. È possibile inserire uno o più record 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 del database Django verrà mostrato in questo tutorial.

Prerequisiti:

Prima di esercitarti con lo script 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

Configura un'app Django:

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

$ python3 gestire.py startapp bookapp

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

$ python3 gestire.py createsuperuser

Aggiungi il nome dell'app in INSTALLATA_APP parte di impostazioni.pi file.

INSTALLATE_APPS = [

'app libro'
]

Crea una cartella denominata modelli dentro il bookapp cartella e imposta la posizione del modello dell'app nel MODELLI parte di impostazioni.pi file.

MODELLI = [

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

Crea un modello per la tabella del database:

Apri il Modelli.pi file dal bookapp cartella e aggiungere il seguente script per definire la struttura di libri tavoli. Libro class è definita per creare una tabella denominata libri con titolo, autore, prezzo, e anno_pubblicato campi. Secondo la sceneggiatura, titolo e autore i campi memorizzeranno dati del personaggio, prezzo e anno_pubblicato i campi memorizzeranno i dati interi. qui, il titolo il campo è definito con l'attributo univoco. Ciò significa che il valore di titolo campo non accetterà dati duplicati.

Modelli.pi

# Modulo di importazione dei modelli
da django.modelli di importazione db
# Definisci la classe Book per la tabella libri
Libro di classe (modelli.Modello):
titolo = modelli.CharField(max_length=100, unico=vero)
autore = modelli.CharField(max_length=100)
prezzo = modelli.Campo intero()
anno_pubblicato = modelli.Campo intero()

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

$ python3 gestire.py makemigrations bookapp

Corri il migrare comando per eseguire i comandi SQL e creare tutte le tabelle nel database che sono definite nel Modelli.pi file.

$ python3 gestire.py migrare

Modifica il contenuto del of amministratore.pi file con il seguente contenuto. Qui, la classe Book dei modelli è registrata utilizzando il Registrati() metodo per visualizzare il libri tabelle nella dashboard di amministrazione di Django.

amministratore.pi

# Importa modulo di amministrazione
da django.amministratore di importazione contributi
# Importa modello libro
a partire dal .i modelli importano il libro
# Registra il modello del libro
amministratore.luogo.registra (Prenota)

Crea un file modello chiamato Visualizza elenco libri.html dentro il bookapp/modelli/cartella con il seguente script. Questo script visualizzerà tutti i dati della tabella dei libri in forma tabellare. Oltre a ciò, il ciclo for viene utilizzato nello script per iterare i dati passati dal visualizzazioni.pi file.

Visualizza elenco libri.html



<br>Django bulk_create() Tutorial<br>



Elenco dei libri di Python







% per il libro in object_list %



% endfor %
IDNomeAutoreAnno di pubblicazionePrezzo
libro.ID libro.titolo libro.autorelibro.anno_pubblicato$libro.prezzo



Modifica il contenuto del of visualizzazioni.pi file con il seguente script. I nomi del modello e del modello sono definiti nel BulkInserimento classe. get_queryset() il metodo della classe è definito nello script per restituire tutti i record della tabella libri. D'altro canto, Libro.oggetti.tutti() viene utilizzato per restituire tutti i record della tabella libri. esiste() viene utilizzato nello script per controllare il libri la tabella è vuota o no. Se questo metodo ritorna falso quindi cinque record verranno inseriti nella tabella libri utilizzando il tasto bulk_create() metodo.

visualizzazioni.pi

da django.scorciatoie importare rendering
# Importa modulo ListView
da django.visualizzazioni.importazione generica ListView
# Importa modello libro
a partire dal .i modelli importano il libro
# Definisci la classe per l'inserimento di più dati
class BulkInsert(ListView):
# Definisci il modello
modello = Libro
# Definisci il modello
template_name = 'DisplayBookList.html'
# Leggi tutti i record esistenti della tabella dei libri
queryset = Libro.oggetti.tutti()
# Controlla che la tabella dei libri sia vuota o meno
se queryset.esiste() == Falso:
# Inserisci 5 record alla volta nella tabella dei libri
Libro.oggetti.bulk_create([
Libro(title='Python Crash Course, 2nd Edition', author='Eric Matthes', price=15, Published_year=2019),
Book(title='Automatizza le cose noiose con Python, 2nd Edition', author='Al Sweigart', price=30,
anno_pubblicato=2019),
Libro(title='Learning Python', author='Mark Lutz', price=15, Published_year=2019),
Book(title='Head First Python', author='Paul Barry', price=45, Published_year=2016),
Book(title='A Byte of Python', author='Swaroop C H', price=15, Published_year=2013),
])
# Restituisce tutti i record della tabella dei libri books
def get_queryset(self):
# Imposta il set di query predefinito
ritorno Prenota.oggetti.tutti()

Modifica il contenuto del of URL.pi file con il seguente script. Nella sceneggiatura, l'"amministratore/" il percorso è definito per aprire il dashboard di amministrazione di Django e il percorso 'libri/' è definito per chiamare il BulkInserimento.as_view() metodo che inserirà cinque record nella tabella libri e restituirà i record al file modello.

URL.pi

# Importa modulo di amministrazione
da django.amministratore di importazione contributi
# Importa il percorso e includi il modulo
da django.percorso di importazione degli URL
dalle viste di importazione di bookapp
patternurl = [
# Definisci il percorso per admin
percorso('admin/', admin.luogo.URL),
percorso('libri/', viste.BulkInserimento.as_view()),
]

Apri la dashboard di amministrazione di Django per verificare se i dati sono stati 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/books/

Conclusione:

È possibile inserire più record nella tabella del database Django in modi diversi utilizzando 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 alla base del processo.

I 5 migliori giochi arcade per Linux
Al giorno d'oggi, i computer sono macchine serie utilizzate per i giochi. Se non riesci a ottenere il nuovo punteggio più alto, saprai cosa intendo. I...
Battaglia per Wesnoth 1.13.6 Sviluppo rilasciato
Battaglia per Wesnoth 1.13.6 rilasciato il mese scorso, è la sesta versione di sviluppo nella 1.13.x e offre una serie di miglioramenti, in particolar...
Come installare League Of Legends su Ubuntu 14.04
Se sei un fan di League of Legends, questa è un'opportunità per testare League of Legends. Nota che LOL è supportato su PlayOnLinux se sei un utente L...