Python

Cara Menggunakan bulk_create() di Django?

Cara Menggunakan bulk_create() di Django?

Kerangka kerja Django dapat digunakan untuk membuat aplikasi web dengan database dengan menulis skrip di model.py dan dilihat.py file aplikasi Django. Data dapat dimasukkan ke dalam tabel database dengan menggunakan Dasbor Administrasi Django atau dengan menulis skrip di dilihat.py mengajukan. Dasbor Administrasi Django memerlukan login untuk pengguna yang diautentikasi untuk mengakses tabel database. Catatan tunggal atau ganda dapat dimasukkan ke dalam tabel database dengan menulis skrip. massal_buat() metode adalah salah satu cara untuk menyisipkan beberapa catatan dalam tabel database. Bagaimana massal_buat() metode yang digunakan untuk menyisipkan banyak data dalam tabel database Django akan ditampilkan dalam tutorial ini.

Prasyarat:

Sebelum mempraktikkan skrip tutorial ini, Anda harus menyelesaikan tugas-tugas berikut:

  1. Instal Django versi 3+ di Ubuntu 20+ (lebih disukai)
  2. Buat proyek Django
  3. Jalankan server Django untuk memeriksa server bekerja dengan benar atau tidak

Siapkan aplikasi Django:

Jalankan perintah berikut untuk membuat aplikasi Django bernama aplikasi buku.

$ python3 kelola.py startapp bookapp

Jalankan perintah berikut untuk membuat pengguna mengakses database Django. Jika Anda sudah membuatnya, maka Anda tidak perlu menjalankan perintah.

$ python3 kelola.py buat pengguna super

Tambahkan nama aplikasi di INSTALLED_APP bagian dari pengaturan.py mengajukan.

INSTALLED_APPS = [

'bookapp'
]

Buat folder bernama template di dalam aplikasi buku folder dan atur lokasi template aplikasi di TEMPLATE bagian dari pengaturan.py mengajukan.

TEMPLATE = [

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

Buat model untuk tabel database:

Buka model.py file dari aplikasi buku folder dan tambahkan skrip berikut untuk menentukan struktur buku meja. Book kelas didefinisikan untuk membuat tabel bernama buku dengan judul, penulis, harga, dan diterbitkan_tahun bidang. Menurut naskah, judul dan penulis bidang akan menyimpan data karakter, dan harga dan tahun_terbit bidang akan menyimpan data integer. Di sini, judul bidang didefinisikan dengan atribut unik. Artinya nilai judul bidang tidak akan menerima data duplikat apa pun.

model.py

# Modul model impor
dari django.model impor db
# Tentukan kelas Buku untuk tabel buku
Buku kelas (model).Model):
judul = model.CharField(max_length=100, unik=Benar)
penulis = model.CharField(panjang_maks=100)
harga = model.IntegerField()
diterbitkan_tahun = model.IntegerField()

Jalankan kepindahan perintah untuk membuat migrasi baru berdasarkan perubahan yang dibuat oleh model.

$ python3 kelola.py makemigrations bookapp

Jalankan migrasi perintah untuk menjalankan perintah SQL dan membuat semua tabel dalam database yang didefinisikan di model.py mengajukan.

$ python3 kelola.py bermigrasi

Ubah konten admin.py file dengan konten berikut:. Di sini, kelas Buku dari model didaftarkan menggunakan daftar() metode untuk menampilkan buku tabel di dasbor administrasi Django.

admin.py

# Impor modul admin
dari django.kontribusi impor admin
# Model Buku Impor
dari .model impor Buku
# Model Buku Daftar
admin.situs.daftar (Buku)

Buat file template bernama TampilanDaftarBuku.html di dalam bookapp/templat/folder dengan skrip berikut. Script ini akan menampilkan semua data tabel buku dalam bentuk tabel. Selain itu, for loop digunakan dalam skrip untuk mengulangi data yang dikirimkan dari dilihat.py mengajukan.

TampilanDaftarBuku.html



<br>Tutorial Django bulk_create()<br>



Daftar Buku Python







% untuk buku di object_list %



% akhir untuk %
IndoNamaPenulisTahun TerbitHarga
Book.Indo Book.judul Book.penulisBook.diterbitkan_tahun$buku.harga



Ubah konten dilihat.py file dengan skrip berikut:. Nama model dan template didefinisikan dalam Sisipan Massal kelas. get_queryset() metode kelas didefinisikan dalam skrip untuk mengembalikan semua catatan tabel buku. Di samping itu, Book.benda-benda.semua() metode ini digunakan untuk mengembalikan semua catatan tabel buku books. ada() metode yang digunakan dalam skrip untuk memeriksa buku meja kosong atau tidak. Jika metode ini kembali Salah kemudian lima catatan akan dimasukkan ke dalam tabel buku menggunakan massal_buat() metode.

dilihat.py

dari django.pintasan impor render
# Impor modul ListView
dari django.dilihat.ListView impor generik
# Model Buku Impor
dari .model impor Buku
# Tentukan kelas untuk memasukkan banyak data
kelas MassalInsert(ListView):
# Tentukan model
model = Buku
# Tentukan template
template_name = 'Daftar TampilanBuku.html'
# Baca semua catatan tabel buku yang ada
queryset = Buku.benda-benda.semua()
# Periksa meja buku kosong atau tidak
jika queryset.ada() == Salah:
# Masukkan 5 catatan di tabel buku sekaligus
Book.benda-benda.massal_buat([
Buku(title='Python Crash Course, 2nd Edition', author='Eric Matthes', price=15, publishing_year=2019),
Buku(title='Otomatiskan Hal yang Membosankan dengan Python, Edisi ke-2', penulis='Al Sweigart', harga=30,
diterbitkan_tahun=2019),
Buku(title='Learning Python', author='Mark Lutz', price=15, diterbitkan_year=2019),
Buku(title='Head First Python', author='Paul Barry', price=45, publishing_year=2016),
Buku(title='A Byte of Python', author='Swaroop C H', harga=15, diterbitkan_year=2013),
])
# Kembalikan semua catatan tabel buku
def get_queryset(sendiri):
# Atur kumpulan kueri default
kembalikan Buku.benda-benda.semua()

Ubah konten url.py file dengan skrip berikut:. Dalam naskah, 'admin/' jalur didefinisikan untuk membuka Dasbor Administrasi Django dan jalur 'buku/' didefinisikan untuk memanggil Sisipan Massal.sebagai_view() metode yang akan memasukkan lima catatan ke tabel buku dan mengembalikan catatan ke file template.

url.py

# Impor modul admin
dari django.kontribusi impor admin
# Impor jalur dan sertakan modul
dari django.jalur impor url
dari tampilan impor bookapp
pola url = [
# Tentukan jalur untuk admin
jalur('admin/', admin.situs.url),
path('buku/', tampilan.Sisipan Massal.as_view()),
]

Buka Dasbor Administrasi Django untuk memeriksa apakah data dimasukkan dengan benar atau tidak menggunakan using massal_buat() fungsi.

Catatan yang dimasukkan dari buku tabel akan ditampilkan di browser setelah menjalankan URL berikut.

http://localhost:8000/books/

Kesimpulan:

Beberapa catatan dapat dimasukkan ke dalam tabel database Django dengan cara yang berbeda menggunakan different massal_buat(). Cara sederhana menyisipkan beberapa catatan dalam tabel database menggunakan metode ini ditunjukkan dalam tutorial ini untuk membantu pengguna Django memahami logika di balik proses.

Tambahkan gerakan Mouse ke Windows 10 menggunakan alat gratis ini
Dalam beberapa tahun terakhir, komputer dan sistem operasi telah berkembang pesat. Ada saat ketika pengguna harus menggunakan perintah untuk menavigas...
Kontrol & kelola gerakan mouse di antara beberapa monitor di Windows 10
Manajer Mouse Tampilan Ganda memungkinkan Anda mengontrol & mengonfigurasi gerakan mouse di antara beberapa monitor, dengan memperlambat gerakannya di...
WinMouse memungkinkan Anda menyesuaikan & meningkatkan gerakan penunjuk tetikus di PC Windows
Jika Anda ingin meningkatkan fungsi default penunjuk tetikus Anda, gunakan freeware WinMouse. Ini menambahkan lebih banyak fitur untuk membantu Anda m...