Python

Kā Django izmantot bulk_create ()?

Kā Django izmantot bulk_create ()?

Django ietvaru var izmantot, lai izveidotu tīmekļa lietojumprogrammu ar datu bāzi, ierakstot skriptu modeļiem.py un skati.py Django lietotnes faili. Datus var ievietot datu bāzes tabulās, izmantojot Django administrācijas vadības paneli vai ierakstot skriptu skati.py failu. Lai piekļūtu datu bāzes tabulām, Django administrācijas informācijas panelim ir nepieciešams pieteikšanās autentificētam lietotājam. Atsevišķus vai vairākus ierakstus var ievietot datu bāzes tabulās, rakstot skriptu. bulk_create () metode ir viens no veidiem, kā datu bāzes tabulā ievietot vairākus ierakstus. Kā bulk_create () metode tiek izmantota, lai ievietotu vairākus datus Django datu bāzes tabulā, kas tiks parādīta šajā apmācībā.

Priekšnosacījumi:

Pirms praktizēt šīs apmācības skriptu, jums ir jāveic šādi uzdevumi:

  1. Instalējiet Django versiju 3+ Ubuntu 20+ (vēlams)
  2. Izveidojiet Django projektu
  3. Palaidiet Django serveri, lai pārbaudītu, vai serveris darbojas pareizi

Django lietotnes iestatīšana:

Palaidiet šo komandu, lai izveidotu Django lietotni ar nosaukumu bookapp.

$ python3 pārvaldīt.py startapp bookapp

Izveidojiet šo komandu, lai izveidotu lietotāju piekļuvei Django datu bāzei. Ja jau esat to izveidojis, jums nav nepieciešams palaist komandu.

$ python3 pārvaldīt.py rada liellietotāju

Pievienojiet lietotnes nosaukumu mapē INSTALLED_APP daļa no iestatījumi.py failu.

INSTALLED_APPS = [

"bookapp"
]

Izveidojiet mapi ar nosaukumu veidnes iekšpusē bookapp mapē un iestatiet lietotnes veidnes atrašanās vietu mapē Veidnes daļa no iestatījumi.py failu.

PARAUGI = [

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

Izveidojiet datu bāzes tabulas modeli:

Atveriet modeļiem.py failu no bookapp mapi un pievienojiet šādu skriptu, lai definētu grāmatas tabulas. Grāmata klase ir definēta, lai izveidotu tabulu ar grāmatām nosaukums, autors, cena, un publicēts_gads lauki. Pēc scenārija, nosaukums un autors lauki tiks saglabāti rakstzīmju dati, cena un publicētais_gads laukos tiks glabāti vesela skaitļa dati. Lūk, nosaukums lauks tiek definēts ar unikālo atribūtu. Tas nozīmē, ka nosaukums laukā netiks pieņemti nekādi datu dublikāti.

modeļiem.py

# Modeļu importēšana
no django.db importēšanas modeļi
# Definējiet grāmatu tabulas grāmatu klasi
klases grāmata (modeļi.Modelis):
nosaukums = modeļi.CharField (max_length = 100, unikāls = True)
autors = modeļi.CharField (maks. Garums = 100)
cena = modeļi.IntegerField ()
publicēts_gads = modeļi.IntegerField ()

Palaidiet makemigrācijas komandu, lai izveidotu jaunu migrāciju, pamatojoties uz modeļu veiktajām izmaiņām.

$ python3 pārvaldīt.py makemigrations bookapp

Palaidiet migrēt komandu izpildīt SQL komandas un izveidot visas tabulas datu bāzē, kas definētas modeļiem.py failu.

$ python3 pārvaldīt.py migrēt

Mainīt programmas saturu admin.py failu ar šādu saturu. Šeit modeļu Book klase tiek reģistrēta, izmantojot reģistrēties () metode, lai parādītu grāmatas tabulas Django administrācijas informācijas panelī.

admin.py

# Importēt administratora moduli
no django.ieguldījuma importēšanas administrators
# Importēt grāmatas modeli
no .modeļi importē grāmatu
# Reģistrēt grāmatas modeli
admin.vietne.reģistrēties (grāmata)

Izveidojiet veidnes failu ar nosaukumu DisplayBookList.html iekšpusē bookapp / templates / folder ar šādu skriptu. Šajā skriptā visi grāmatu tabulas dati tiks parādīti tabulas veidā. Izņemot to, cilpa tiek izmantota skriptā, lai atkārtotu datus, kas nodoti no skati.py failu.

DisplayBookList.html



<br>Django bulk_create () apmācība<br>



Python grāmatu saraksts







% par grāmatu objekta_listā%



% endfor%
IDNosaukumsAutorsIzdošanas gadsCena
grāmata.id grāmata.nosaukums grāmata.autorsgrāmata.publicēts_gads$ grāmata.cena



Mainīt programmas saturu skati.py failu ar šādu skriptu. Modeļa un veidnes nosaukumi ir definēti BulkIevietot klasē. get_queryset () klases metode ir definēta skriptā, lai atgrieztu visus grāmatu tabulas ierakstus. No otras puses, Grāmata.objektiem.visi () metodi izmanto, lai atgrieztu visus grāmatu tabulas ierakstus. pastāv () metode tiek izmantota skriptā, lai pārbaudītu grāmatas tabula ir tukša vai nav. Ja šī metode atgriežas Nepatiesa tad grāmatu tabulā tiks ievietoti pieci ieraksti, izmantojot bulk_create () metodi.

skati.py

no django.saīsnes importēt renderēšanu
# Importēt ListView moduli
no django.skati.vispārīgs importēšanas saraksts ListView
# Importēt grāmatas modeli
no .modeļi importē grāmatu
# Definējiet klasi vairāku datu ievietošanai
klase BulkInsert (ListView):
# Definējiet modeli
modelis = Grāmata
# Definēt veidni
template_name = 'DisplayBookList.html '
# Izlasiet visus esošos grāmatu tabulas ierakstus
queryset = Grāmata.objektiem.visi ()
# Pārbaudiet, vai grāmatu tabula ir tukša vai nav
ja queryset.pastāv () == Nepatiesa:
# Grāmatu tabulā vienlaikus ievietojiet 5 ierakstus
Grāmata.objektiem.bulk_create ([
Grāmata (nosaukums = 'Python Crash Course, 2nd Edition', autors = 'Eric Matthes', cena = 15, publicēts_gads = 2019),
Grāmata (nosaukums = 'Automate the Boring Stuff with Python, 2nd Edition', autors = 'Al Sweigart', cena = 30,
publicēts_gads = 2019),
Grāmata (nosaukums = 'Learning Python', autors = 'Mark Lutz', cena = 15, publicēts_gads = 2019),
Grāmata (nosaukums = 'Head First Python', autors = 'Paul Barry', cena = 45, publicēts_gads = 2016),
Grāmata (nosaukums = 'Python baits', autors = 'Swaroop C H', cena = 15, publicēts_gads = 2013),
])
# Atgrieziet visus grāmatu tabulas ierakstus
def get_queryset (pats):
# Iestatiet noklusējuma vaicājumu kopu
atgriešanās Grāmata.objektiem.visi ()

Mainīt programmas saturu URL.py failu ar šādu skriptu. Scenārijā, “admin /” ceļš ir noteikts, lai atvērtu Django administrācijas informācijas paneli, un ceļš “grāmatas /” ir noteikts, lai izsauktu BulkIevietot.as_view () metode, kas grāmatu tabulā ievietos piecus ierakstus un atgriezīs ierakstus veidnes failā.

URL.py

# Importēt administratora moduli
no django.ieguldījuma importēšanas administrators
# Importēt ceļu un iekļaut moduli
no django.URL importēšanas ceļš
no bookapp importēšanas skatiem
urlpatterns = [
# Definējiet administratora ceļu
ceļš ('admin /', admin.vietne.URL),
ceļš ('grāmatas /', skati.BulkIevietot.as_view ()),
]

Atveriet Django administrācijas informācijas paneli, lai pārbaudītu, vai dati ir ievietoti pareizi vai neizmanto bulk_create () funkciju.

Ievietotie ieraksti par grāmatas tabula tiks parādīta pārlūkprogrammā pēc šī URL izpildes.

http: // localhost: 8000 / books /

Secinājums:

Vairākus ierakstus Django datu bāzes tabulā var ievietot dažādos veidos, izmantojot bulk_create (). Šajā apmācībā tika parādīts vienkāršs veids, kā datu bāzes tabulā ievietot vairākus ierakstus, izmantojot šo metodi, lai palīdzētu Django lietotājiem izprast procesa loģiku.

Top 5 spēļu tveršanas kartes
Mēs visi esam redzējuši un mīlējuši straumēšanas spēles pakalpojumā YouTube. PewDiePie, Jakesepticye un Markiplier ir tikai daži no labākajiem spēlētā...
Kā izstrādāt spēli Linux
Pirms desmit gadiem maz Linux lietotāju varētu paredzēt, ka viņu iecienītā operētājsistēma kādu dienu būs populāra spēļu platforma komerciālām videosp...
Komerciālo spēļu dzinēju atvērtā koda porti
Bezmaksas, atvērtā koda un starpplatformu spēļu dzinēju atpūtu var izmantot, lai spēlētu vecos, kā arī dažus no diezgan nesenajiem spēļu nosaukumiem. ...