Python

Ako používať bulk_create () v Django?

Ako používať bulk_create () v Django?

Rámec Django sa dá použiť na vytvorenie webovej aplikácie s databázou tak, že sa doň zapíše skript modely.py a názory.py súbory aplikácie Django. Dáta môžu byť vložené do databázových tabuliek pomocou Django Administration Dashboard alebo napísaním skriptu do názory.py spis. Panel Django Administration Dashboard vyžaduje prihlásenie pre autentifikovaného používateľa na prístup k tabuľkám databázy. Jeden alebo viac záznamov je možné vložiť do databázových tabuliek napísaním skriptu. bulk_create () metóda je jedným zo spôsobov, ako vložiť viac záznamov do databázovej tabuľky. Ako bulk_create () metóda sa používa na vloženie viacerých údajov do databázy Django tabuľky budú uvedené v tomto výučbe.

Predpoklady:

Pred precvičením scenára tohto tutoriálu musíte splniť nasledujúce úlohy:

  1. Nainštalujte si Django verzie 3+ na Ubuntu 20+ (najlepšie)
  2. Vytvorte projekt Django
  3. Spustením servera Django skontrolujte, či server funguje správne alebo nie

Inštalácia aplikácie Django:

Spustením nasledujúceho príkazu vytvorte aplikáciu Django s názvom bookapp.

$ python3 spravovať.py startapp bookapp

Spustením nasledujúceho príkazu vytvorte používateľa na prístup k databáze Django. Ak ste si už nejaký vytvorili, nemusíte spustiť príkaz.

$ python3 spravovať.py vytvorí superužívateľa

Pridajte názov aplikácie do priečinka INSTALLED_APP časť nastavenie.py spis.

INSTALLED_APPS = [

'bookapp'
]

Vytvorte priečinok s názvom šablóny vnútri bookapp priečinok a nastavte umiestnenie šablóny aplikácie v priečinku ŠABLÓNY časť nastavenie.py spis.

TEMPLATES = [

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

Vytvorte model pre databázovú tabuľku:

Otvor modely.py súbor z bookapp priečinok a pridajte nasledujúci skript, ktorý definuje štruktúru priečinka kníh stoly. Kniha trieda je definovaná na vytvorenie tabuľky s názvom knihy s titul, autor, cena, a zverejnené_rok polia. Podľa scenára, titul a autor polia sa uložia údaje o znakoch a cena a zverejnený_rok polia budú ukladať celočíselné údaje. Tu je titul pole je definované jedinečným atribútom. To znamená, že hodnota titul pole neprijme žiadne duplicitné údaje.

modely.py

# Modul importu modelov
od djanga.db import modely
# Definujte triedu Kniha pre tabuľku kníh
trieda Kniha (modely.Model):
nadpis = modely.CharField (max_length = 100, unique = True)
autor = modely.CharField (max_length = 100)
cena = modely.IntegerField ()
published_year = models.IntegerField ()

Spustiť makemigrácie príkaz na vytvorenie novej migrácie na základe zmien vykonaných modelmi.

$ python3 spravovať.py makemigrations bookapp

Spustiť migrovať príkaz na vykonanie príkazov SQL a vytvorenie všetkých tabuliek v databáze, ktoré sú definované v modely.py spis.

$ python3 spravovať.py migrovať

Upraviť obsah admin.py súbor s nasledujúcim obsahom. Tu je trieda kníh modelov zaregistrovaná pomocou Registrovať() metóda zobrazenia kníh tabuľky na administračnom paneli Django.

admin.py

# Importovať modul správcu
od djanga.sk prispieť import
# Import knihy
od .modely import knihy
# Registrovať model knihy
admin.stránky.zaregistrovať sa (kniha)

Vytvorte súbor šablóny s názvom DisplayBookList.html vnútri bookapp / šablóny / priečinok s nasledujúcim skriptom. Tento skript zobrazí všetky údaje tabuľky kníh v tabuľkovej forme. Okrem toho sa v skripte používa slučka for na opakovanie údajov odovzdaných z protokolu názory.py spis.

DisplayBookList.html



<br>Výukový program Django bulk_create ()<br>



Zoznam kníh v jazyku Python







% pre knihu v zozname_objektov%



% endfor%
IDnázovAutorRok vydaniacena
kniha.id kniha.názov kniha.autorkniha.zverejnené_rok$ kniha.cena



Upraviť obsah názory.py súbor s nasledujúcim skriptom. Názvy modelov a šablón sú definované v dokumente Hromadné vloženie trieda. get_queryset () metóda triedy je definovaná v skripte na vrátenie všetkých záznamov tabuľky kníh. Na druhej strane, Kniha.predmety.všetko () metóda sa používa na vrátenie všetkých záznamov tabuľky kníh. existuje () sa v skripte používa metóda na kontrolu kníh tabuľka je prázdna alebo nie. Ak sa táto metóda vráti Falošné potom sa päť záznamov vloží do tabuľky kníh pomocou bulk_create () metóda.

názory.py

od djanga.skratky importovať vykreslenie
# Importovať modul ListView
od djanga.názory.všeobecný import ListView
# Import knihy
od .modely import knihy
# Definujte triedu pre vkladanie viacerých údajov
trieda BulkInsert (ListView):
# Definujte model
model = Kniha
# Definujte šablónu
template_name = 'DisplayBookList.html '
# Prečítajte si všetky existujúce záznamy o knihách
sada dotazov = Kniha.predmety.všetko ()
# Skontrolujte, či je tabuľka kníh prázdna alebo či nie
ak je súbor dotazov.existuje () == nepravda:
# Vložte do tabuľky kníh naraz 5 záznamov
Kniha.predmety.bulk_create ([
Kniha (názov = 'Python Crash Course, 2. vydanie', autor = 'Eric Matthes', cena = 15, zverejnené_rok = 2019),
Kniha (názov = 'Automate the Boring Stuff with Python, 2. vydanie', autor = 'Al Sweigart', cena = 30,
Published_year = 2019),
Kniha (názov = 'Learning Python', autor = 'Mark Lutz', cena = 15, zverejnené_rok = 2019),
Kniha (názov = 'Head First Python', autor = 'Paul Barry', cena = 45, publikované_rok = 2016),
Kniha (názov = 'A Byte of Python', autor = 'Swaroop C H', cena = 15, zverejnené_rok = 2013),
])
# Vrátiť všetky záznamy tabuľky kníh
def get_queryset (self):
# Nastaviť predvolenú množinu dotazov
spiatočná kniha.predmety.všetko ()

Upraviť obsah adresy URL.py súbor s nasledujúcim skriptom. V scenári, „admin /“ cesta je definovaná na otvorenie Django Administration Dashboard a cesta 'books /' je definovaná na volanie Hromadné vloženie.as_view () metóda, ktorá vloží päť záznamov do tabuľky kníh a vráti záznamy do súboru so šablónou.

adresy URL.py

# Importovať modul správcu
od djanga.sk prispieť import
# Importovať cestu a zahrnúť modul
od djanga.cesta importu adries URL
zo zobrazení importu bookapp
urlpatterns = [
# Definujte cestu pre administrátora
cesta ('admin /', admin.stránky.adresy URL),
cesta („knihy /“, zobrazenia.Hromadné vloženie.as_view ()),
]

Otvorte Django Administration Dashboard a skontrolujte, či sú údaje vložené správne alebo či nepoužívate bulk_create () funkcia.

Vložené záznamy o kníh tabuľka sa zobrazí v prehliadači po vykonaní nasledujúcej adresy URL.

http: // localhost: 8000 / knihy /

Záver:

Viaceré záznamy je možné do databázy Django vložiť rôznymi spôsobmi pomocou príkazu bulk_create (). V tejto príručke je uvedený jednoduchý spôsob vkladania viacerých záznamov do databázovej tabuľky pomocou tejto metódy, ktorý používateľom Django pomáha pochopiť logiku procesu.

Hry Ako nainštalovať League Of Legends na Ubuntu 14.04
Ako nainštalovať League Of Legends na Ubuntu 14.04
Ak ste fanúšikom League of Legends, potom je to pre vás príležitosť otestovať spustenie League of Legends. Upozorňujeme, že program PlayOnLinux podpor...
Hry Nainštalujte si najnovšiu strategickú hru OpenRA na Ubuntu Linux
Nainštalujte si najnovšiu strategickú hru OpenRA na Ubuntu Linux
OpenRA je herný engine Libre / Free Real Time Strategy, ktorý obnovuje rané hry z Westwoodu, ako napríklad klasické Command & Conquer: Red Alert. Dist...
Hry Nainštalujte si najnovší Dolphin Emulator pre Gamecube a Wii na Linuxe
Nainštalujte si najnovší Dolphin Emulator pre Gamecube a Wii na Linuxe
Emulátor Dolphin vám umožní hrať vybrané hry Gamecube a Wii na osobných počítačoch Linux (PC). Emulátor Dolphin, ktorý je voľne dostupným emulátorom ...