„Python“

Kaip Django naudoti bulk_create ()?

Kaip Django naudoti bulk_create ()?

„Django“ sistemą galima naudoti kuriant žiniatinklio programą su duomenų baze, rašant scenarijų modeliai.py ir Peržiūrų.py „Django“ programos failus. Duomenis į duomenų bazės lenteles galima įterpti naudojant „Django Administration Dashboard“ arba parašius scenarijų Peržiūrų.py failą. „Django“ administravimo prietaisų skydelyje reikalingas prisijungęs prie tapatybę patvirtinusio vartotojo, kad jis galėtų pasiekti duomenų bazės lenteles. Į duomenų bazės lenteles galima įterpti vieną ar kelis įrašus, parašius scenarijų. bulk_create () metodas yra vienas iš būdų įterpti kelis įrašus į duomenų bazės lentelę. Kaip bulk_create () metodas naudojamas keliems duomenims įterpti į „Django“ duomenų bazės lentelę, kuri bus rodoma šioje pamokoje.

Būtinos sąlygos:

Prieš praktikuodami šios mokymo programos scenarijų, turite atlikti šias užduotis:

  1. Įdiekite „Django“ versiją 3+ „Ubuntu 20+“ (geriausia)
  2. Sukurkite „Django“ projektą
  3. Paleiskite „Django“ serverį ir patikrinkite, ar serveris veikia tinkamai

Nustatykite „Django“ programą:

Norėdami sukurti „Django“ programą, paleiskite šią komandą bookapp.

$ python3 valdyti.py startapp bookapp

Vykdykite šią komandą, kad sukurtumėte vartotojui prieigą prie „Django“ duomenų bazės. Jei jau sukūrėte, komandos paleisti nereikia.

$ python3 valdyti.py sukurianaudotojas

Pridėkite programos pavadinimą INSTALLED_APP dalis parametrus.py failą.

INSTALLED_APPS = [

„bookapp“
]

Sukurkite aplanką pavadinimu šablonai viduje bookapp aplanką ir nustatykite programos šablono vietą programoje Šablonai dalis parametrus.py failą.

Šablonai = [

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

Sukurkite duomenų bazės lentelės modelį:

Atidaryk modeliai.py failą iš bookapp aplanką ir pridėkite šį scenarijų, kad apibrėžtumėte knygos stalai. Knyga klasė yra apibrėžta norint sukurti lentelę pavadinimu knygos su pavadinimas, autorius, kaina, ir paskelbtas_metas laukai. Pagal scenarijų, pavadinimas ir autorius laukai bus saugomi simbolių duomenys, kaina ir paskelbtas_metas laukuose bus saugomi sveikojo skaičiaus duomenys. Čia, pavadinimas laukas apibrėžiamas su unikaliu atributu. Tai reiškia, kad pavadinimas laukas nepriims jokių pasikartojančių duomenų.

modeliai.py

# Importuoti modelių modulį
nuo django.db importavimo modeliai
# Apibrėžkite knygų lentelės knygų klasę
klasės knyga (modeliai.Modelis):
pavadinimas = modeliai.„CharField“ (maks. Ilgis = 100, unikalus = tiesa)
autorius = modeliai.„CharField“ (maks. Ilgis = 100)
kaina = modeliai.„IntegerField“ ()
paskelbtas_metas = modeliai.„IntegerField“ ()

Paleiskite makemigracijos komandą sukurti naują perkėlimą, remiantis modelių atliktais pakeitimais.

$ python3 valdyti.py makemigrations bookapp

Paleiskite migruoti komandą vykdyti SQL komandas ir sukurti visas duomenų bazės lenteles, apibrėžtas modeliai.py failą.

$ python3 valdyti.py migruoti

Keisti administratorius.py failą su tokiu turiniu. Čia „Model“ knygų klasė registruojama naudojant Registruotis() metodas rodyti knygos lenteles Django administracijos informacijos suvestinėje.

administratorius.py

# Importuoti administratoriaus modulį
nuo django.įnašo importo administratorius
# Importuoti knygos modelį
nuo .modeliai importuoja knygą
# Registruokitės knygos modeliu
administratorius.svetainėje.registruotis (knyga)

Sukurkite šablono failą pavadinimu „DisplayBookList“.HTML viduje bookapp / templates / folder su tokiu scenarijumi. Šiame scenarijuje visi knygų lentelės duomenys bus rodomi lentelių pavidalu. Išskyrus tai, scenarijus naudojamas ciklui, norint pakartoti iš Peržiūrų.py failą.

„DisplayBookList“.HTML



<br>„Django bulk_create ()“ pamoka<br>



„Python“ knygų sąrašas







% už knygą objekto sąraše%



% endfor%
IDvardasAutoriusLeidimo metaiKaina
knyga.id knyga.pavadinimas knyga.autoriusknyga.paskelbtas_metas$ knyga.kaina



Keisti Peržiūrų.py failas su tokiu scenarijumi. Modelio ir šablonų pavadinimai yra apibrėžti „BulkInsert“ klasė. get_queryset () klasės metodas yra apibrėžtas scenarijuje, kad būtų grąžinti visi knygų lentelės įrašai. Iš kitos pusės, Knyga.objektai.visi () metodas naudojamas grąžinti visus knygų lentelės įrašus. egzistuoja () metodas naudojamas scenarijuje patikrinti knygos lentelė tuščia ar ne. Jei šis metodas grįš Klaidinga tada penki įrašai bus įtraukti į knygų lentelę naudojant bulk_create () metodas.

Peržiūrų.py

nuo django.nuorodos importuoti atvaizdavimą
# Importuoti „ListView“ modulį
nuo django.Peržiūrų.bendras importavimas „ListView“
# Importuoti knygos modelį
nuo .modeliai importuoja knygą
# Apibrėžkite kelių duomenų įterpimo klasę
klasė „BulkInsert“ („ListView“):
# Apibrėžkite modelį
modelis = knyga
# Apibrėžkite šabloną
template_name = 'DisplayBookList.HTML '
# Perskaitykite visus esamus knygų lentelės įrašus
queryset = Knyga.objektai.visi ()
# Patikrinkite, ar knygų lentelė tuščia
jei queryset.egzistuoja () == Klaidinga:
# Į knygų lentelę vienu metu įterpkite 5 įrašus
Knyga.objektai.bulk_create ([
Knyga (pavadinimas = „Python Crash Course, 2nd Edition“, autorius = „Ericas Matthesas“, kaina = 15, paskelbtas_metas = 2019),
Knyga (pavadinimas = „Automatizuokite nuobodų dalyką su„ Python “, 2-asis leidimas“, autorius = „Al Sweigart“, kaina = 30,
paskelbtas_metas = 2019),
Knyga (pavadinimas = 'Learning Python', autorius = 'Mark Lutz', kaina = 15, paskelbtas_metas = 2019),
Knyga (pavadinimas = 'Head First Python', autorius = 'Paul Barry', kaina = 45, published_year = 2016),
Knyga (pavadinimas = 'Python baitas', autorius = 'Swaroop C H', kaina = 15, paskelbta_metai = 2013),
])
# Grąžinkite visus knygų lentelės įrašus
def get_queryset (savarankiškai):
# Nustatykite numatytąjį užklausų rinkinį
grįžti Knyga.objektai.visi ()

Keisti URL.py failas su tokiu scenarijumi. Scenarijuje, „admin /“ kelias yra nustatytas atidaryti „Django“ administravimo prietaisų skydelį, o „knygos /“ kelias yra apibrėžtas norint iškviesti „BulkInsert“.as_view () metodas, kuris į knygų lentelę įterps penkis įrašus ir grąžins įrašus į šablono failą.

URL.py

# Importuoti administratoriaus modulį
nuo django.įnašo importo administratorius
# Importo kelias ir modulis
nuo django.URL importavimo kelias
iš „bookapp“ importo rodinių
urlpatterns = [
# Apibrėžkite administratoriaus kelią
kelias ('admin /', admin.svetainėje.URL),
kelias („knygos /“, peržiūros.„BulkInsert“.as_view ()),
]

Atidarykite „Django Administration“ informacijos suvestinę ir patikrinkite, ar duomenys tinkamai įterpti, ar ne bulk_create () funkcija.

Įterpti įrašai apie knygos lentelė bus rodoma naršyklėje atlikus šį URL.

http: // localhost: 8000 / knygos /

Išvada:

Keli įrašai gali būti įterpiami į „Django“ duomenų bazės lentelę įvairiais būdais naudojant bulk_create (). Šioje pamokoje buvo parodytas paprastas būdas įterpti kelis įrašus į duomenų bazės lentelę naudojant šį metodą, kad „Django“ vartotojai galėtų suprasti proceso logiką.

Nemokami ir atvirojo kodo žaidimų varikliai, skirti kurti „Linux“ žaidimus
Šiame straipsnyje bus pateiktas nemokamų ir atvirojo kodo žaidimų variklių, kurie gali būti naudojami kuriant 2D ir 3D žaidimus „Linux“, sąrašas. Toki...
„Tomb Raider for Linux“ pamoka
„Tomb Raider“ šešėlis yra dvyliktas „Tomb Raider“ serijos priedas - veiksmo ir nuotykių žaidimų franšizė, sukurta „Eidos Montreal“. Žaidimą kritikai i...
Kaip padidinti FPS sistemoje „Linux“?
FPS reiškia Kadrai per sekundę. FPS užduotis yra išmatuoti kadrų greitį atkuriant vaizdo įrašus ar žaidimus. Paprastais žodžiais, nepertraukiamų viso ...