Rumah > Artikel > pembangunan bahagian belakang > Penjelasan terperinci tentang rangka kerja ORM SQLObject dalam Python
Dengan populariti aplikasi Web yang meluas, Python semakin digunakan secara meluas dalam bidang pembangunan Web. Banyak Rangka Kerja Web Python hari ini menyediakan beberapa rangka kerja ORM untuk mengendalikan pangkalan data. SQLObject ialah salah satu rangka kerja ORM yang sangat popular dan mudah digunakan. Artikel ini akan memperkenalkan secara terperinci cara menggunakan rangka kerja SQLObject.
Anda boleh memasang SQLObject dengan mudah menggunakan alat pip:
pip install sqlobject
Mula-mula perkenalkan perpustakaan sqlobject dan gunakan kaedah connectionForURI untuk menyambung ke pangkalan data. Berikut ialah contoh sambungan pangkalan data MySQL:
import MySQLdb from sqlobject import * connection_string = 'mysql://user:password@localhost/database' connection = connectionForURI(connection_string) sqlhub.processConnection = connection
Pengguna, kata laluan, localhost dan pangkalan data hendaklah digantikan dengan nilai sebenar.
Apabila mentakrifkan kelas model, anda mesti mewarisi kelas SQLObject. Berikut ialah contoh takrifan mudah kelas Orang:
class Person(SQLObject): name = StringCol(length=100) age = IntCol(default=0)
Kelas Orang mengandungi dua medan: nama dan umur. name ialah jenis rentetan dengan panjang 100, dan umur ialah jenis integer dengan nilai awal 0. SQLObject menyediakan beberapa jenis lajur yang berbeza, termasuk StringCol, IntCol, FloatCol, DecimalCol, BoolCol, DateCol, DateTimeCol dan TimeCol, dsb. Anda juga boleh menetapkan sifat lain lajur, seperti nilai lalai, keunikan, indeks, dsb.
Untuk mencipta jadual dalam pangkalan data, cuma perkenalkan modul yang mentakrifkan kelas model dalam shell atau skrip Python dan jalankan kaedah createTable() :
from models import Person Person.createTable()
Jika jadual sudah wujud, ia tidak akan dibuat lagi.
Untuk memasukkan data ke dalam jadual, cuma buat contoh kelas model dan tetapkan nilai pada setiap medan. Contohnya:
john = Person(name='John Smith', age=30)
Untuk menyimpan contoh ke pangkalan data, panggil kaedah save()nya:
john.save()
Pada masa ini, jadual bernama orang akan dibuat dalam pangkalan data dan nama akan dimasukkan Rekod untuk John Smith, umur 30 tahun.
SQLObject menyediakan banyak kaedah untuk menanyakan data dalam pangkalan data. Berikut ialah beberapa contoh kaedah yang biasa digunakan:
(1) Dapatkan semua rekod
Untuk mendapatkan semua rekod dalam jadual Orang, anda boleh memanggil kaedah pilih() kelas Orang:
people = Person.select() for person in people: print(person.name, person.age)
Kod ini akan melingkari setiap rekod dalam jadual Orang dan mengeluarkan nilai medan nama dan umur mereka.
(2) Tapis rekod mengikut syarat
Untuk menapis rekod mengikut syarat, anda boleh menghantar objek SQLExpression dalam kaedah pilih(). Sebagai contoh, kod berikut akan mendapat semua orang yang berumur 30 tahun ke atas:
people = Person.select(Person.age >= 30) for person in people: print(person.name, person.age)
Begitu juga, perbandingan boleh dibuat menggunakan operator seperti 91eef5681cad6f0cc96f9adeb2931b45, >=, ==, dan != .
(3) Isih mengikut medan
Untuk mengisih mengikut medan, anda boleh menghantar klausa OrderBy dalam kaedah pilih(). Contohnya, kod berikut akan mengisih mengikut medan umur dalam tertib menaik:
people = Person.select(orderBy=Person.age) for person in people: print(person.name, person.age)
Untuk mengisih dalam tertib menurun, anda boleh menambah tanda tolak sebelum nama medan, contohnya:
people = Person.select(orderBy=-Person.age)
Untuk mengemas kini data, cuma ubah suai nilai atribut contoh kelas model dan kemudian panggil kaedah save()nya. Sebagai contoh, kod berikut akan menukar umur John Smith kepada 35:
john.age = 35 john.save()
Untuk memadam data, hanya panggil kaedah destroySelf() kelas model instance Itu sahaja. Sebagai contoh, kod berikut akan memadamkan rekod bernama John Smith:
john.destroySelf()
SQLObject ialah rangka kerja ORM yang sangat mudah yang boleh memudahkan Operasi pembangunan web Python pada pangkalan data. Artikel ini memperkenalkan penggunaan asas SQLObject, termasuk menyambung ke pangkalan data, mentakrifkan kelas model, mencipta jadual, memasukkan data, menanya data, mengemas kini data dan memadam data. Saya harap pembaca boleh mencuba menggunakan SQLObject untuk pembangunan web Python.
Atas ialah kandungan terperinci Penjelasan terperinci tentang rangka kerja ORM SQLObject dalam Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!