Python

So verwenden Sie Bulk_create() in Django?

So verwenden Sie Bulk_create() in Django?

Das Django-Framework kann verwendet werden, um eine Webanwendung mit einer Datenbank zu erstellen, indem ein Skript in . geschrieben wird Modelle.py und Ansichten.py Dateien der Django-App. Die Daten können über das Django Administration Dashboard oder durch das Schreiben eines Skripts in die Datenbanktabellen eingefügt werden Ansichten.py Datei. Das Django Administration Dashboard erfordert eine Anmeldung für einen authentifizierten Benutzer, um auf die Tabellen der Datenbank zuzugreifen. Durch Schreiben eines Skripts können einzelne oder mehrere Datensätze in die Datenbanktabellen eingefügt werden. Bulk_create() Methode ist eine der Möglichkeiten, mehrere Datensätze in die Datenbanktabelle einzufügen. Wie zum Bulk_create() -Methode verwendet wird, um die mehreren Daten in eine Django-Datenbanktabelle einzufügen, wird in diesem Tutorial gezeigt.

Voraussetzungen:

Bevor Sie das Skript dieses Tutorials üben, müssen Sie die folgenden Aufgaben ausführen:

  1. Installieren Sie die Django-Version 3+ auf Ubuntu 20+ (vorzugsweise)
  2. Erstellen Sie ein Django-Projekt
  3. Führen Sie den Django-Server aus, um zu überprüfen, ob der Server ordnungsgemäß funktioniert oder nicht

Richten Sie eine Django-App ein:

Führen Sie den folgenden Befehl aus, um eine Django-App namens zu erstellen Buchapp.

$ python3 verwalten.py startapp bookapp

Führen Sie den folgenden Befehl aus, um den Benutzer für den Zugriff auf die Django-Datenbank zu erstellen. Wenn Sie bereits einen erstellt haben, müssen Sie den Befehl nicht ausführen.

$ python3 verwalten.py erstelltsuperuser

Fügen Sie den App-Namen im . hinzu INSTALLED_APP Teil von dem die Einstellungen.py Datei.

INSTALLED_APPS = [

'Buchapp'
]

Erstellen Sie einen Ordner mit dem Namen Vorlagen innerhalb der Buchapp Ordner und legen Sie den Speicherort der Vorlage für die App im VORLAGEN Teil von dem die Einstellungen.py Datei.

VORLAGEN = [

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

Erstellen Sie ein Modell für die Datenbanktabelle:

Öffne das Modelle.py Datei aus dem Buchapp Ordner und fügen Sie das folgende Skript hinzu, um die Struktur von . zu definieren Bücher Tabellen. Buch -Klasse ist definiert, um eine Tabelle namens books mit zu erstellen Titel, Autor, Preis, und veröffentlichtes_jahr Felder. Laut Skript, Titel und Autor Felder werden gespeichert Zeichendaten und Preis und veröffentlichtes_Jahr Felder speichern die ganzzahligen Daten. Hier die Titel Feld ist mit dem eindeutigen Attribut definiert. Das bedeutet, dass der Wert des Titel Feld akzeptiert keine doppelten Daten.

Modelle.py

# Modul Importieren von Modellen
von django.DB-Importmodelle
# Definieren Sie die Buchklasse für die Büchertabelle
Klasse Buch (Modelle.Modell):
Titel = Modelle.CharField(max_length=100, unique=True)
Autor = Modelle.CharField(max_length=100)
Preis = Modelle.IntegerField()
veröffentlichtes_Jahr = Modelle.IntegerField()

Führen Sie die machenmigrationen Befehl zum Erstellen einer neuen Migration basierend auf den von den Modellen vorgenommenen Änderungen.

$ python3 verwalten.py makemigrations bookapp

Führen Sie die Wandern Befehl, um die SQL-Befehle auszuführen und alle Tabellen in der Datenbank zu erstellen, die in der Modelle.py Datei.

$ python3 verwalten.py migrieren

Ändern Sie den Inhalt der Administrator.py Datei mit folgendem Inhalt. Hier wird die Book-Klasse der Models mit dem registriert registrieren() Methode zum Anzeigen der Bücher Tabellen im Django-Administrations-Dashboard.

Administrator.py

# Admin-Modul importieren
von django.contrib import admin
# Buchmodell importieren
von .Modelle importieren Buch
# Registrieren Buchmodell
Administrator.Seite? ˅.registrieren (Buch)

Erstellen Sie eine Vorlagendatei mit dem Namen Buchliste anzeigen.html innerhalb der Buchapp/Vorlagen/Ordner mit folgendem Skript. Dieses Skript zeigt alle Daten der Büchertabelle in Tabellenform an. Abgesehen davon wird die for-Schleife im Skript verwendet, um die vom . übergebenen Daten zu iterieren Ansichten.py Datei.

Buchliste anzeigen.html



<br>Django Bulk_create() Tutorial<br>



Python-Buchliste







% für Buch in object_list %



% endfor %
ICH WÜRDENameAutorErscheinungsjahrPreis
Buch.Ich würde Buch.Titel Buch.AutorBuch.veröffentlichtes_jahr$Buch.Preis



Ändern Sie den Inhalt der Ansichten.py Datei mit folgendem Skript. Die Modell- und Vorlagennamen werden im BulkInsert Klasse. get_queryset() Methode der Klasse ist im Skript definiert, um alle Datensätze der Büchertabelle zurückzugeben. Andererseits, Buch.Objekte.alle() -Methode wird verwendet, um alle Datensätze der Büchertabelle zurückzugeben. existiert() -Methode wird im Skript verwendet, um die Bücher Tisch ist leer oder nicht. Wenn diese Methode zurückkehrt Falsch dann werden fünf Datensätze mit dem table in die Büchertabelle eingefügt Bulk_create() Methode.

Ansichten.py

von django.Verknüpfungen importieren rendern
# ListView-Modul importieren
von django.Ansichten.generischer Import ListView
# Buchmodell importieren
von .Modelle importieren Buch
# Klasse zum Einfügen mehrerer Daten definieren
Klasse BulkInsert(ListView):
# Modell definieren
Modell = Buch
# Vorlage definieren
template_name = 'DisplayBookList.html'
# Lesen Sie alle vorhandenen Datensätze der Büchertabelle
queryset = Buch.Objekte.alle()
# Überprüfen Sie, ob der Büchertisch leer ist oder nicht
wenn Abfragegruppe.existiert() == Falsch:
# 5 Datensätze gleichzeitig in die Büchertabelle einfügen
Buch.Objekte.Bulk_create([
Buch(title='Python Crash Course, 2nd Edition', author='Eric Matthes', price=15, published_year=2019),
Book(title='Automate the Boring Stuff with Python, 2nd Edition', author='Al Sweigart', price=30,
veröffentlichtes_jahr=2019),
Buch(title='Python lernen', author='Mark Lutz', price=15, published_year=2019),
Buch(title='Head First Python', author='Paul Barry', price=45, published_year=2016),
Buch(title='A Byte of Python', author='Swaroop C H', price=15, published_year=2013),
])
# Alle Datensätze der Büchertabelle zurückgeben
def get_queryset(self):
# Legen Sie den Standardabfragesatz fest
Buch zurück geben.Objekte.alle()

Ändern Sie den Inhalt der URLs.py Datei mit folgendem Skript. Im Skript, der 'admin/' Der Pfad ist definiert, um das Django-Administrations-Dashboard zu öffnen, und der Pfad 'books/' ist definiert, um die BulkInsert.as_view() Methode, die fünf Datensätze in die Büchertabelle einfügt und die Datensätze in die Vorlagendatei zurückgibt.

URLs.py

# Admin-Modul importieren
von django.contrib import admin
# Pfad importieren und Modul einbinden
von django.URL-Importpfad
aus bookapp-Importansichten
URLmuster = [
# Definiere den Pfad für admin
path('admin/', admin.Seite? ˅.URLs),
path('books/', views.BulkInsert.as_view()),
]

Öffnen Sie das Django-Administrations-Dashboard, um zu überprüfen, ob die Daten richtig eingefügt wurden oder nicht Bulk_create() Funktion.

Die eingefügten Aufzeichnungen der Bücher Tabelle wird im Browser angezeigt, nachdem die folgende URL ausgeführt wurde.

http://localhost:8000/books/

Fazit:

Mehrere Datensätze können auf unterschiedliche Weise in die Django-Datenbanktabelle eingefügt werden Bulk_create(). In diesem Tutorial wurde eine einfache Möglichkeit zum Einfügen mehrerer Datensätze in die Datenbanktabelle mit dieser Methode gezeigt, um Django-Benutzern zu helfen, die Logik hinter dem Prozess zu verstehen.

So installieren und spielen Sie Doom unter Linux
Einführung in Doom Die Doom-Serie entstand in den 90er Jahren nach der Veröffentlichung des ursprünglichen Doom. Es war sofort ein Hit und seitdem hat...
Vulkan für Linux-Benutzer
Mit jeder neuen Grafikkartengeneration stoßen Spieleentwickler an die Grenzen der grafischen Wiedergabetreue und kommen dem Fotorealismus einen Schrit...
OpenTTD vs. Simutrans
Das Erstellen einer eigenen Transportsimulation kann Spaß machen, entspannend und äußerst verlockend sein. Deshalb sollten Sie so viele Spiele wie mög...