Piton

A bulk_create () használata Django-ban?

A bulk_create () használata Django-ban?

A Django keretrendszerrel webes alkalmazás hozható létre egy adatbázissal, szkript beírásával modellek.py és nézetek.py a Django alkalmazás fájljai. Az adatokat be lehet illeszteni az adatbázis táblákba a Django Administration Dashboard használatával, vagy egy szkript beírásával a nézetek.py fájl. A Django Administration Dashboard bejelentkezést igényel egy hitelesített felhasználó számára az adatbázis tábláinak eléréséhez. Egy vagy több rekord szkript megírásával illeszthető be az adatbázis táblákba. bulk_create () A módszer az egyik módja annak, hogy több rekordot illesszen be az adatbázis-táblába. Hogy a bulk_create () metódus a több adat beszúrására egy Django adatbázis-táblába kerül bemutatásra ebben az oktatóanyagban.

Előfeltételek:

Az oktatóanyag szkriptjének gyakorlása előtt el kell végeznie a következő feladatokat:

  1. Telepítse a Django 3+ verziót az Ubuntu 20+ verzióra (lehetőleg)
  2. Hozzon létre egy Django projektet
  3. Futtassa a Django szervert annak ellenőrzésére, hogy a szerver megfelelően működik-e vagy sem

Állítson be egy Django alkalmazást:

Futtassa a következő parancsot egy Django alkalmazás létrehozásához bookapp.

$ python3 kezelni.py startapp bookapp

Futtassa a következő parancsot a felhasználó létrehozásához a Django adatbázis eléréséhez. Ha már létrehozott egyet, akkor nem kell futtatnia a parancsot.

$ python3 kezelni.py létrehozza a túlfelhasználót

Adja hozzá az alkalmazás nevét a INSTALLED_APP része a beállítások.py fájl.

INSTALLED_APPS = [

„bookapp”
]

Hozzon létre egy nevű mappát sablonok benne bookapp mappába, és állítsa be az alkalmazás sablonjának helyét a Sablonok része a beállítások.py fájl.

Sablonok = [

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

Hozzon létre egy modellt az adatbázis-táblához:

Nyissa meg a modellek.py fájl a bookapp mappát, és adja hozzá a következő parancsfájlt a struktúra meghatározásához könyveket táblázatok. Könyv osztály meg van határozva, hogy létrehozzon egy táblázatot, amelynek neve: cím, szerző, ár, és közzétett_év mezők. A forgatókönyv szerint, cím és szerző mezők tárolódnak karakteradatok, ár és közzétett év mezők tárolják az egész adatokat. Itt a cím mező meghatározása az egyedi attribútummal történik. Ez azt jelenti, hogy a cím mező nem fogad el ismétlődő adatokat.

modellek.py

# Modellek importálása modul
djangótól.db import modellek
# Határozza meg a Könyv osztályt a könyvtáblához
osztály Könyv (modellek.Modell):
cím = modellek.CharField (max_hossz = 100, egyedi = Igaz)
szerző = modellek.CharField (max_hossz = 100)
ár = modellek.IntegerField ()
published_year = modellek.IntegerField ()

Futtassa a makemigrációk parancsot egy új migráció létrehozására a modellek által végrehajtott változtatások alapján.

$ python3 kezelni.py makemigrations bookapp

Futtassa a vándorol parancs az SQL parancsok végrehajtására és az adatbázisban az modellek.py fájl.

$ python3 kezelni.py vándorolnak

Módosítsa a admin.py fájl a következő tartalommal. Itt a modellek Book osztályát regisztráljuk a Regisztráció() módszer a könyveket táblázatok a Django adminisztráció irányítópultján.

admin.py

# Adminisztrációs modul importálása
djangótól.közreműködés import admin
# Könyvmodell importálása
tól től .modellek importálja a könyvet
# Regisztrálja a könyv modelljét
admin.webhely.regisztráció (könyv)

Hozzon létre egy sablonfájlt DisplayBookList.html benne bookapp / sablonok / mappa a következő forgatókönyvvel. Ez a szkript a könyvek táblázatának összes adatait táblázatos formában jeleníti meg. Ettől eltekintve, mert a ciklus a szkriptben a nézetek.py fájl.

DisplayBookList.html



<br>Django bulk_create () oktatóanyag<br>



Python könyvlista







% az objektumlista%% könyvéhez



% endfor%
IDNévSzerzőMegjelenés éveÁr
könyv.id könyv.cím könyv.szerzőkönyv.közzétett_év$ könyv.ár



Módosítsa a nézetek.py a következő szkriptet tartalmazó fájl. A modell és a sablon nevét a BulkInsert osztály. get_queryset () Az osztály metódusát a szkript határozza meg, hogy a könyvek tábla összes rekordját visszaadja. Másrészről, Könyv.tárgyakat.minden() metódus a könyvtábla összes rekordjának visszaadására szolgál. létezik() metódust használnak a szkriptben a könyveket a táblázat üres vagy sem. Ha ez a módszer visszatér Hamis akkor öt rekord kerül a könyvtáblába a bulk_create () módszer.

nézetek.py

djangótól.parancsikonok import render
# ListView modul importálása
djangótól.nézetek.általános importálás ListView
# Könyvmodell importálása
tól től .modellek importálja a könyvet
# Definiálja az osztályt több adat beszúrásához
osztály BulkInsert (ListView):
# Definiálja a modellt
modell = Könyv
# Definiálja a sablont
template_name = 'DisplayBookList.html '
# Olvassa el a könyvek összes meglévő rekordját
lekérdezés = Könyv.tárgyakat.minden()
# Ellenőrizze, hogy a könyvek táblázata üres-e
ha queryset.létezik () == Hamis:
# Egyszerre helyezzen be 5 rekordot a könyvek táblázatába
Könyv.tárgyakat.bulk_create ([
Könyv (cím = 'Python Crash Course, 2. kiadás', szerző = 'Eric Matthes', ár = 15, megjelent_év = 2019),
Könyv (cím = 'Automatizálja az unalmas dolgokat a Pythonnal, 2. kiadás', szerző = 'Al Sweigart', ár = 30,
közzétett_év = 2019),
Könyv (cím = 'Learning Python', szerző = 'Mark Lutz', ár = 15, megjelent_év = 2019),
Könyv (cím = 'Head First Python', szerző = 'Paul Barry', ár = 45, published_year = 2016),
Könyv (cím = 'A Python bájtja', szerző = 'Swaroop C H', ára = 15, megjelent_év = 2013),
])
# Visszaadja a könyvek táblázat összes rekordját
def get_queryset (self):
# Állítsa be az alapértelmezett lekérdezési készletet
vissza Könyv.tárgyakat.minden()

Módosítsa a URL-ek.py a következő szkriptet tartalmazó fájl. A forgatókönyvben, az „admin /” A Django Administration Dashboard megnyitásához az elérési út definiálva van, a "books /" elérési út pedig a BulkInsert.as_view () módszer, amely öt rekordot fog beilleszteni a könyvek táblába, és visszaadja a rekordokat a sablonfájlba.

URL-ek.py

# Adminisztrációs modul importálása
djangótól.közreműködés import admin
# Útvonal importálása és modul hozzáadása
djangótól.URL importálási útvonal
bookapp import nézetekből
urlpatterns = [
# Adja meg az admin elérési útját
elérési út ('admin /', admin.webhely.URL-ek),
útvonal ('könyvek /', nézetek.BulkInsert.as_view ()),
]

Nyissa meg a Django Administration Dashboard-t és ellenőrizze, hogy az adatokat megfelelően illesztették-e be, vagy sem bulk_create () funkció.

A beillesztett nyilvántartások a könyveket táblázat a következő URL végrehajtása után jelenik meg a böngészőben.

http: // localhost: 8000 / books /

Következtetés:

A Django adatbázis táblába többféle módon is beilleszthető rekordok a bulk_create (). Ebben az oktatóanyagban bemutatták, hogyan lehet több rekordot beilleszteni az adatbázis-táblába ezzel a módszerrel, hogy segítsen a Django felhasználóknak megérteni a folyamat logikáját.

Shadow of the Tomb Raider for Linux Tutorial
A Shadow of the Tomb Raider a Tomb Raider sorozat tizenkettedik kiegészítője - az Eidos Montreal által létrehozott akció-kaland játék franchise. A ját...
Az FPS növelése Linux alatt?
Az FPS jelentése Képkocka másodpercenként. Az FPS feladata a videolejátszások vagy játékteljesítmények képkockasebességének mérése. Egyszerű szavakkal...
A legnépszerűbb Oculus App Lab játékok
Ha Oculus fülhallgató-tulajdonos, akkor tisztában kell lennie az oldalsó töltéssel. Az oldaltöltés a nem áruházi tartalom fejhallgatóra történő telepí...