Python

Apa itu ORM Django?

Apa itu ORM Django?
Dalam dunia masa kini, teknologi telah menjadi bahagian penting dalam kehidupan kita kerana segala sesuatu di sekitar kita telah didigitalkan. Ini juga berlaku walaupun dalam sektor perniagaan. Perniagaan yang gagal menggunakan infrastruktur yang tepat dan tidak dapat melengkapkan seni bina teknologi yang tepat akhirnya ketinggalan daripada pesaing mereka. Ini terutama kerana, pada masa ini, jumlah data yang diandalkan oleh perniagaan dan organisasi untuk analisis mereka telah berkembang dengan pesat dan sebagai hasilnya, bagi mereka untuk dapat memproses dan menafsirkannya dengan cara yang efisien, mereka harus memiliki set yang tepat alat dan infrastruktur untuk menyokongnya.

Pangkalan data adalah salah satu teknologi paling popular yang digunakan untuk pengumpulan dan pengorganisasian data kerana membolehkan data diakses dengan mudah, dikendalikan, dan dikemas kini juga. Walau bagaimanapun, pangkalan data ini memerlukan sistem pengurusan untuk mereka melaksanakan tugas-tugas ini. Sebahagian besarnya, bahasa SQL digunakan untuk melakukan operasi dalam pangkalan data, namun, ketika aplikasi Anda berkembang dan menjadi lebih kompleks, menjadi sangat sukar untuk mempunyai idea tentang apa sebenarnya yang dilakukan oleh setiap operasi. Di sinilah teknik Object Relational Mapping (ORM) masuk ke dalam gambar. Ini membolehkan pertanyaan dan manipulasi data menggunakan bahasa pengaturcaraan berorientasikan objek pilihan anda. ORM mengurangkan kerumitan kod anda dan menjadikannya lebih mudah difahami, yang seterusnya menjadikannya lebih mudah untuk mengemas kini, mengekalkan, dan menggunakan semula kod tersebut.

Dalam artikel ini, kita akan melihat Django ORM, yang merupakan ORM berasaskan Python dan oleh itu, salah satu teknologi paling popular yang digunakan hari ini.

Apa itu Django?

Sebelum kita melihat ORM Django, mari kita lihat dahulu apa sebenarnya teknologi Pythonic yang disebut Django ini.

Django adalah kerangka web sumber terbuka dan bebas yang direka di Python, dan oleh itu, mempunyai reka bentuk yang sangat bersih dan kemas dan ringkas, fleksibel, boleh dipercayai, dan berskala. Ini menjadikan perkara sangat mudah bagi pembangun web kerana menyediakan komponen siap pakai yang pada gilirannya, menghalangnya daripada menulis semuanya dari awal, dan sebagai hasilnya, membuat kerja mereka lebih cepat dan mengurangkan overhead di laman web mereka. Di samping itu, ia sangat selamat dan membantu pengguna mengelakkan masalah keselamatan seperti serangan pemulihan UI, suntikan SQL, dan sebagainya. Ia juga mempunyai komuniti yang sangat besar yang selalu dapat diakses melalui forum dan sentiasa bersedia untuk memberikan pertolongan kepada orang lain.

Mari kita akhirnya melihat Django ORM dan beberapa ciri utamanya.

Mengakses ORM Django

Setelah memasang Django dan menyiapkan projeknya, kami biasanya diberikan fail awal berikut:

laman web saya di sini merujuk kepada nama projek yang anda buat. Semua fail ini mempunyai kegunaannya sendiri dan penting untuk mengetahui apa peranan setiap fail. Fokus kami di sini adalah untuk menguruskan.fail py yang akan mengawal banyak perkara yang berbeza untuk kita, seperti menyediakan pelayan, melakukan migrasi, berkomunikasi dengan pangkalan data, dan juga memasuki mod ORM.

Untuk membuka Django ORM, buka baris perintah dari direktori utama projek Django anda dan jalankan arahan berikut:

$ python menguruskan.cengkerang py

Ini akan membuka shell interaktif untuk kita yang akan membolehkan kita mula berinteraksi dengan pangkalan data menggunakan ORM.

Memanipulasi Pangkalan Data menggunakan Pertanyaan di Django ORM

Oleh kerana ORM membolehkan kami berinteraksi dengan pangkalan data, kami kini dapat menulis pertanyaan yang berlainan untuk mengambil dan memanipulasi data dari pangkalan data. Namun, sebelum kita dapat mulai mengerjakan pangkalan data di shell, pertama-tama kita harus mengimport semua model yang berkaitan dengannya. Ini dapat dilakukan dengan hanya menjalankan perintah di shell interaktif, seperti yang ditunjukkan di bawah:

$ dari appName.model import modelName

Di sini, appName merujuk kepada nama aplikasi anda yang telah anda buat dan dengan itu tempat model anda disimpan. ModelName merujuk kepada nama model yang ingin anda import dan gunakan. Anda boleh mengimport pelbagai model di sini, seperti yang dilihat dalam contoh di bawah:

Sekarang, anda boleh mengakses objek model dan membaca data daripadanya. Sebagai contoh, jika kita mahukan senarai semua catatan, kita boleh mendapatkannya dengan menjalankan perintah berikut ke terminal kita:

$ Pos.benda.semua()

Berikut adalah hasil arahan di atas:

Kami dapat melakukan beberapa jenis barang lain di ORM seperti membuat data pangkalan data baru, mengemas kini data, dan semua perintah pangkalan data lain yang anda boleh.

Pemodelan Pangkalan Data

Salah satu perkara terbaik yang diberikan Django ORM kepada penggunanya adalah kemampuan untuk menghubungkan dan menjalin hubungan antara atribut objek model anda dengan medan jadual yang sesuai secara automatik. Dalam pangkalan data, terdapat tiga jenis hubungan. ini adalah hubungan One-to-One, hubungan One-to-Many atau Many-to-One, dan hubungan Many-to-Many.

Hubungan One-to-One adalah, seperti namanya, di mana catatan satu jadual sepadan dengan satu rekod jadual lain. Di Django ORM, kita dapat membuatnya dengan mudah seperti berikut:

ibu bapa kelas (model.Model):
pengguna = model.OneToOneField (
Pengguna,
on_delete = model.CASCADE,
key_key = Betul,
)
name_of_father = model.CharField (panjang maksimum = 100)
name_of_mother = model.CharField (panjang maksimum = 100)

Di sini, setiap pengguna hanya dapat memiliki ibu bapa kandung tunggal, dan oleh itu, ia adalah hubungan satu-dengan-satu. Sekarang, jika kita menghapus pengguna yang mengakses model ini, ia juga akan menghapus model 2nd pengguna kerana mereka saling bergantung antara satu sama lain.

Satu-ke-banyak atau banyak-ke-satu merujuk kepada hubungan di mana rekod ibu bapa dapat memiliki beberapa rekod anak, namun, ia hanya dapat memiliki satu atau tidak ada anak juga. Di ORM Django, kita dapat menjalin hubungan ini dengan mudah dengan menggunakan Kunci asing bidang:

Pelanggan kelas (model.Model):
nama = model.CharField (panjang maksimum = 255)
Kenderaan kelas (model.Model):
pelanggan = model.Kunci asing(
Pelanggan,
on_delete = model.CASCADE
)

Seperti yang terlihat dalam kod di atas, pelanggan dapat memiliki banyak kenderaan.

Terakhir, hubungan banyak-ke-banyak menentukan hubungan di mana beberapa jadual dapat saling berkaitan antara satu sama lain. Kita boleh membuatnya dengan menggunakan BanyakToMany bidang. Dalam contoh di bawah, kami telah membuat dua model, satu untuk pengguna dan yang lain untuk siaran mereka. Terdapat banyak pengguna juga kerana setiap pengguna dapat mempunyai banyak catatan.

Pengguna kelas (model.Model):
post = model.ManyToManyField (Pos, kosong = Benar)
rakan = model.ManyToManyField (tetapan.AUTH_USER_MODEL, kosong = Benar)
kelas Post (model.Model):
post = model.Bidang Teks ()
suka = ​​model.ManyToManyField (tetapan.AUTH_USER_MODEL, blank = Betul, berkaitan_nama = 'user_likes')

Kesimpulannya

Django ORM adalah alat yang sangat hebat dan menjadikan kerja pembangun web menjadi lebih mudah. Ia mempunyai pelbagai ciri seperti manipulasi model pangkalan data, menjalin hubungan antara model, dan banyak lagi. Ringkasnya, ORANG Django adalah salah satu perkara terbaik yang disertakan dengan Django dan sangat berkesan pada pekerjaan yang diberikan kepadanya.

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...