Python

Kuidas Djangos kasutada bulk_create ()?

Kuidas Djangos kasutada bulk_create ()?

Django raamistikku saab kasutada andmebaasiga veebirakenduse loomiseks, kirjutades skripti mudelid.py ja vaated.py Django rakenduse failid. Andmeid saab andmebaasi tabelitesse sisestada Django Administration Dashboardi abil või skripti kirjutades vaated.py faili. Django Administration Dashboard nõuab autentitud kasutaja sisselogimist, et pääseda juurde andmebaasi tabelitele. Skripti kirjutades saab andmebaasi tabelitesse lisada ühe või mitu kirjet. bulk_create () meetod on üks viise, kuidas sisestada andmebaasi tabelisse mitu kirjet. Kuidas bulk_create () meetodit kasutatakse mitmete andmete sisestamiseks Django andmebaasi tabelisse, mis kuvatakse selles õpetuses.

Eeldused:

Enne selle õpetuse skripti harjutamist peate täitma järgmised ülesanded:

  1. Installige Django versioon 3+ Ubuntu 20+ (eelistatult)
  2. Looge Django projekt
  3. Käivitage Django server, et kontrollida, kas server töötab korralikult või mitte

Django rakenduse seadistamine:

Django nimelise rakenduse loomiseks käivitage järgmine käsk bookapp.

$ python3 hallata.py startapp bookapp

Käivitage järgmine käsk, et luua kasutaja Django andmebaasile juurdepääsuks. Kui olete selle juba loonud, ei pea te käsku käivitama.

$ python3 hallata.py loob ülikasutaja

Lisage rakenduse nimi rakendusse INSTALLED_APP osa seaded.py faili.

INSTALLED_APPS = [

"bookapp"
]

Looge kaust nimega mallid sees bookapp kausta ja määrake rakenduses malli asukoht MALLID osa seaded.py faili.

MALLID = [

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

Looge andmebaasitabeli mudel:

Ava mudelid.py fail failist bookapp kaust ja lisage järgmise skripti struktuuri määratlemiseks raamatud tabelid. Raamat klass on määratletud, et luua tabel nimega raamatud pealkiri, autor, hind, ja avaldatud_aasta väljad. Stsenaariumi järgi, pealkiri ja autor väljad salvestatakse märkide andmed ning hind ja avaldatud_aasta väljad salvestavad täisarvu andmed. Siin, pealkiri väli on määratletud unikaalse atribuudiga. See tähendab, et pealkiri väli ei aktsepteeri ühtegi duplikaadit.

mudelid.py

# Mudelite importimise moodul
alates django.db impordimudelid
# Määratlege raamatute tabeli jaoks raamatuklass
klassi raamat (mudelid.Mudel):
pealkiri = mudelid.CharField (max_length = 100, unikaalne = True)
autor = mudelid.CharField (max_pikkus = 100)
hind = mudelid.IntegerField ()
avaldatud_aasta = mudelid.IntegerField ()

Käivitage makemigratsioonid käsk luua uus ränne mudelite tehtud muudatuste põhjal.

$ python3 hallata.py makemigrations bookapp

Käivitage rändama käsk SQL-i käskude käivitamiseks ja kõigi andmebaasis määratletud tabelite loomiseks mudelid.py faili.

$ python3 hallata.py rännata

Muutke sisu admin.py järgmise sisuga fail. Siin registreeritakse mudelite Book klass, kasutades Registreeri() meetod raamatud tabelid Django halduse juhtpaneelil.

admin.py

# Impordi administraatori moodul
alates django.kaastöö impordi admin
# Impordi raamatu mudel
alates .mudelid impordivad raamatut
# Registreeri raamatu mudel
admin.sait.registreeru (raamat)

Looge mallifail nimega DisplayBookList.HTML sees bookapp / mallid / kaust järgmise skriptiga. See skript kuvab kõik raamatute tabeli andmed tabelina. Peale selle kasutatakse skriptis silmuseks silmusest failist edastatud andmete kordamiseks vaated.py faili.

DisplayBookList.HTML



<br>Django bulk_create () õpetus<br>



Pythoni raamatute loend







% objekti_loendis oleva raamatu jaoks%



% endfor%
IDNimiAutorAvaldamisaastaHind
raamat.id raamat.pealkiri raamat.autorraamat.avaldatud_aasta$ raamat.hind



Muutke sisu vaated.py fail järgmise skriptiga. Mudeli ja malli nimed on määratletud dokumendis Sisesta klass. get_queryset () klassi meetod on skriptis määratletud kõigi raamatute tabeli kirjete tagastamiseks. Teiselt poolt, Raamat.objektid.kõik () meetodit kasutatakse raamatute tabeli kõigi kirjete tagastamiseks. on olemas () meetodit kasutatakse skriptis raamatud tabel on tühi või mitte. Kui see meetod naaseb Vale siis lisatakse viis kirjet raamatute tabelisse, kasutades bulk_create () meetod.

vaated.py

alates django.otseteed impordi renderdamine
# Import ListView moodul
alates django.vaated.üldine import ListView
# Impordi raamatu mudel
alates .mudelid impordivad raamatut
# Määratlege mitme teabe sisestamise klass
klass BulkInsert (ListView):
# Määratlege mudel
mudel = raamat
# Määra mall
malli_nimi = 'DisplayBookList.html '
# Lugege kõiki olemasolevaid raamatute tabeli kirjeid
queryset = Raamat.objektid.kõik ()
# Kontrollige, kas raamatute tabel on tühi või mitte
kui küsitakse.olemas () == Vale:
# Sisestage raamatute tabelisse korraga 5 kirjet
Raamat.objektid.bulk_create ([
Raamat (pealkiri = 'Python Crash Course, 2nd Edition', autor = 'Eric Matthes', hind = 15, published_year = 2019),
Raamat (pealkiri = 'Automate the Boring Stuff with Python, 2nd Edition', autor = 'Al Sweigart', hind = 30,
avaldatud_aasta = 2019),
Raamat (pealkiri = 'Püthoni õppimine', autor = 'Mark Lutz', hind = 15, avaldatud_aasta = 2019),
Raamat (pealkiri = 'Head First Python', autor = 'Paul Barry', hind = 45, avaldatud_aasta = 2016),
Raamat (pealkiri = 'Pythoni bait', autor = 'Swaroop C H', hind = 15, avaldatud_aasta = 2013),
])
# Tagastage kõik raamatute tabeli kirjed
def get_queryset (ise):
# Määrake vaikepäringute komplekt
tagasi raamat.objektid.kõik ()

Muutke sisu URL-id.py fail järgmise skriptiga. Stsenaariumis, 'admin /' Django administratsiooni juhtpaneeli avamiseks on määratletud tee ja tee "raamatud /" määramiseks on määratud Sisesta.as_view () meetod, mis lisab raamatute tabelisse viis kirjet ja tagastab kirjed mallifaili.

URL-id.py

# Impordi administraatori moodul
alates django.kaastöö impordi admin
# Impordi tee ja kaasake moodul
alates django.URL-ide importimise tee
bookapp-i impordivaadetest
urlpatterns = [
# Määrake administraatori tee
tee ('admin /', admin.sait.URL-id),
tee ('raamatud /', vaated.Sisesta.as_view ()),
]

Avage Django Administrationi juhtpaneel, et kontrollida, kas andmed on õigesti sisestatud või mitte bulk_create () funktsioon.

Lisatud dokumendid raamatud tabelit kuvatakse brauseris pärast järgmise URL-i käivitamist.

http: // localhost: 8000 / books /

Järeldus:

Django andmebaasi tabelisse saab sisestada mitu kirjet, kasutades bulk_create (). Selles õpetuses näidati lihtsat viisi selle meetodi abil andmebaasitabelisse mitme kirje sisestamiseks, et aidata Django kasutajatel protsessi loogikat mõista.

Kasulikud tööriistad Linuxi mängijatele
Kui teile meeldib Linuxis mänge mängida, on tõenäoline, et olete mängukogemuse parandamiseks kasutanud selliseid rakendusi ja utiliite nagu Wine, Lutr...
HD Remastered Games Linuxile, millel pole kunagi varem Linuxi väljalaset olnud
Paljud mängude arendajad ja kirjastajad pakuvad frantsiisi eluea pikendamiseks välja vanade mängude HD-remasteri. Palun fännid, kes soovivad ühilduvus...
Kuidas kasutada AutoKeyt Linuxi mängude automatiseerimiseks
AutoKey on Linuxi ja X11 töölaua automatiseerimise utiliit, mis on programmeeritud Python 3, GTK ja Qt. Selle skriptimise ja MACRO funktsionaalsuse ab...