Python

Cara Menggunakan bulk_create () di Django?

Cara Menggunakan bulk_create () di Django?

Kerangka Django dapat digunakan untuk membuat aplikasi web dengan pangkalan data dengan menulis skrip dalam model.py dan pandangan.py fail aplikasi Django. Data dapat dimasukkan ke dalam tabel pangkalan data dengan menggunakan Django Administration Dashboard atau dengan menulis skrip di pandangan.py fail. Papan Pemuka Pentadbiran Django memerlukan log masuk untuk pengguna yang disahkan untuk mengakses jadual pangkalan data. Catatan tunggal atau berganda boleh dimasukkan ke dalam jadual pangkalan data dengan menulis skrip. pukal_cipta () kaedah adalah salah satu cara untuk memasukkan beberapa rekod dalam jadual pangkalan data. Bagaimana pukal_cipta () kaedah digunakan untuk memasukkan beberapa data dalam jadual pangkalan data Django akan ditunjukkan dalam tutorial ini.

Prasyarat:

Sebelum mempraktikkan skrip tutorial ini, anda harus menyelesaikan tugas berikut:

  1. Pasang Django versi 3+ di Ubuntu 20+ (lebih baik)
  2. Buat projek Django
  3. Jalankan pelayan Django untuk memeriksa pelayan berfungsi dengan betul atau tidak

Sediakan aplikasi Django:

Jalankan arahan berikut untuk membuat aplikasi Django bernama bookapp.

$ python3 menguruskan.py startapp bookapp

Jalankan arahan berikut untuk membuat pengguna mengakses pangkalan data Django. Sekiranya anda sudah membuatnya, anda tidak perlu menjalankan perintah.

$ python3 menguruskan.py createuperuser

Tambahkan nama aplikasi di DIPASANG_APP sebahagian tetapan.py fail.

INSTALLED_APPS = [

'bookapp'
]

Buat folder bernama templat di dalam bookapp folder dan tetapkan lokasi templat aplikasi di TEMPAT sebahagian tetapan.py fail.

TEMPLATES = [

… .
'DIRS': ['/ rumah / fahmida / django_pro / bookapp / templat'],
… .
,
]

Buat model untuk jadual pangkalan data:

Buka model.py fail dari bookapp folder dan tambahkan skrip berikut untuk menentukan struktur buku jadual. Tempah kelas ditakrifkan untuk membuat jadual bernama buku dengan tajuk, pengarang, harga, dan diterbitkan_tahun ladang. Mengikut skrip, tajuk dan pengarang ladang akan menyimpan data watak, dan harga dan diterbitkan_tahun medan akan menyimpan data integer. Di sini, tajuk medan ditakrifkan dengan atribut unik. Itu bermaksud bahawa nilai tajuk bidang tidak akan menerima data pendua.

model.py

# Modul model import
dari django.model import db
# Tentukan kelas Buku untuk jadual buku
Buku kelas (model.Model):
tajuk = model.CharField (max_length = 100, unik = Benar)
pengarang = model.CharField (panjang maksimum = 100)
harga = model.IntegerField ()
terbitan_tahun = model.IntegerField ()

Jalankan penghijrahan arahan untuk membuat migrasi baru berdasarkan perubahan yang dibuat oleh model.

$ python3 menguruskan.py makemigrations bookapp

Jalankan berhijrah perintah untuk melaksanakan perintah SQL dan membuat semua jadual dalam pangkalan data yang ditentukan dalam model.py fail.

$ python3 menguruskan.py berhijrah

Ubah suai kandungan pentadbir.py fail dengan kandungan berikut. Di sini, kelas Buku model didaftarkan menggunakan daftar () kaedah untuk memaparkan buku jadual di papan pemuka pentadbiran Django.

pentadbir.py

# Import modul pentadbir
dari django.admin import contrib
# Model Buku Import
dari .model import Buku
# Daftar model Buku
pentadbir.tapak.daftar (Buku)

Buat fail templat bernama Senarai Buku Paparan.html di dalam bookapp / templat / folder dengan skrip berikut. Skrip ini akan memaparkan semua data jadual buku dalam bentuk tabel. Selain itu, loop digunakan dalam skrip untuk mengulangi data yang dilalui dari pandangan.py fail.

Senarai Buku Paparan.html



<br>Tutorial Django bulk_create ()<br>



Senarai Buku Python







% untuk buku dalam object_list%



% endfor%
IDNamaPengarangTahun PenerbitanHarga
buku.ID buku.tajuk buku.pengarangbuku.diterbitkan_tahun$ buku.harga



Ubah suai kandungan pandangan.py fail dengan skrip berikut. Nama model dan templat ditentukan dalam Sebilangan besar kelas. get_queryset () kaedah kelas ditentukan dalam skrip untuk mengembalikan semua rekod jadual buku. Selain itu, Tempah.benda.semua() kaedah digunakan untuk mengembalikan semua rekod jadual buku. ada () kaedah digunakan dalam skrip untuk memeriksa buku meja kosong atau tidak. Sekiranya kaedah ini kembali Salah maka lima rekod akan dimasukkan ke dalam jadual buku dengan menggunakan pukal_cipta () kaedah.

pandangan.py

dari django.pintasan import pintasan
# Modul ListView import
dari django.pandangan.ListView import generik
# Model Buku Import
dari .model import Buku
# Tentukan kelas untuk memasukkan beberapa data
kelas BulkInsert (ListView):
# Tentukan model
model = Buku
# Tentukan templat
template_name = 'Senarai Buku Paparan.html '
# Baca semua rekod jadual buku yang ada
set pertanyaan = Buku.benda.semua()
# Periksa jadual buku kosong atau tidak
jika pertanyaan.ada () == Salah:
# Masukkan 5 rekod dalam jadual buku pada satu masa
Tempah.benda.pukal_cipta ([
Buku (tajuk = 'Python Crash Course, Edisi ke-2', pengarang = 'Eric Matthes', harga = 15, terbit_tahun = 2019),
Buku (tajuk = 'Automate the Boring Stuff with Python, 2nd Edition', pengarang = 'Al Sweigart', harga = 30,
terbit_tahun = 2019),
Buku (tajuk = 'Learning Python', pengarang = 'Mark Lutz', harga = 15, terbit_tahun = 2019),
Buku (tajuk = 'Head First Python', pengarang = 'Paul Barry', harga = 45, terbit_tahun = 2016),
Buku (tajuk = 'A Byte of Python', pengarang = 'Swaroop C H', harga = 15, terbit_tahun = 2013),
])
# Kembalikan semua rekod jadual buku
def get_queryset (diri):
# Tetapkan set pertanyaan lalai
memulangkan Buku.benda.semua()

Ubah suai kandungan url.py fail dengan skrip berikut. Dalam skrip, 'pentadbir /' jalan ditakrifkan untuk membuka Papan Pemuka Pentadbiran Django dan jalan 'buku /' ditakrifkan untuk memanggil Sebilangan besar.as_lihat () kaedah yang akan memasukkan lima rekod ke jadual buku dan mengembalikan rekod ke fail templat.

url.py

# Import modul pentadbir
dari django.admin import contrib
# Laluan import dan sertakan modul
dari django.laluan import url
dari paparan import bookapp
urlpatterns = [
# Tentukan jalan untuk admin
jalan ('admin /', pentadbir.tapak.url),
jalan ('buku /', pandangan.Sebilangan besar.as_lihat ()),
]

Buka Papan Pemuka Pentadbiran Django untuk memeriksa sama ada data dimasukkan dengan betul atau tidak menggunakan pukal_cipta () fungsi.

Rekod yang dimasukkan dari buku jadual akan dipaparkan di penyemak imbas setelah menjalankan URL berikut.

http: // localhost: 8000 / buku /

Kesimpulan:

Beberapa rekod boleh dimasukkan ke dalam jadual pangkalan data Django dengan cara yang berbeza menggunakan pukal_cipta (). Kaedah mudah memasukkan beberapa rekod dalam jadual pangkalan data menggunakan kaedah ini ditunjukkan dalam tutorial ini untuk membantu pengguna Django memahami logik di sebalik proses tersebut.

HD Remastered Games untuk Linux yang Tidak Pernah Melancarkan Linux Sebelumnya
Banyak pembangun dan penerbit permainan hadir dengan penghapus HD permainan lama untuk memperpanjang usia francais, harap peminat meminta keserasian d...
Cara Menggunakan AutoKey untuk Mengautomasikan Permainan Linux
AutoKey adalah utiliti automasi desktop untuk Linux dan X11, yang diprogramkan dalam Python 3, GTK dan Qt. Dengan menggunakan skrip dan fungsi MACRO, ...
Cara Menunjukkan Kaunter FPS dalam Permainan Linux
Permainan Linux mendapat dorongan utama ketika Valve mengumumkan sokongan Linux untuk klien Steam dan permainan mereka pada tahun 2012. Sejak itu, ban...