Rumah > Artikel > pembangunan bahagian belakang > Penjelasan terperinci tentang rangka kerja ORM Peewee dalam Python
Penjelasan terperinci tentang Peewee, rangka kerja ORM dalam Python
ORM (Pemetaan Perhubungan Objek) ialah teknologi yang memetakan objek ke pangkalan data hubungan. Artikel ini akan memperkenalkan Peewee, rangka kerja ORM dalam Python. Peewee ialah rangka kerja ORM yang ringan, mudah digunakan, fleksibel yang menyokong berbilang pangkalan data seperti SQLite, MySQL dan PostgreSQL. Artikel ini akan memperkenalkan pemasangan, penggunaan asas, penggunaan lanjutan dan perbandingan Peewee dengan rangka kerja ORM yang lain.
Peewee boleh dipasang melalui pip. Masukkan arahan berikut dalam terminal untuk memasang:
pip install peewee
(1) Sambungan pangkalan data
Sebelum menggunakan Peewee, anda perlu lakukan ia sambungan pangkalan data pertama. Kod berikut menunjukkan cara menyambung ke pangkalan data SQLite melalui Peewee:
from peewee import * db = SqliteDatabase('my_database.db')
Antaranya, my_database.db ialah nama pangkalan data SQLite Jika fail pangkalan data tidak wujud, fail akan dibuat dalam direktori semasa.
Peewee juga menyokong MySQL, PostgreSQL dan pangkalan data lain Anda hanya perlu menggantikan SqliteDatabase dengan pangkalan data yang sepadan. Contohnya, kod berikut menunjukkan cara menyambung ke pangkalan data MySQL melalui Peewee:
db = MySQLDatabase('my_database', user='my_user', password='my_password', host='my_host', port=3306)
(2) Tentukan model
Peewee menggunakan model untuk menerangkan jadual dalam pangkalan data. Setiap model mewakili jadual, dan setiap atribut mewakili medan dalam jadual. Kod berikut mentakrifkan model Pengguna, yang mengandungi dua medan: id dan nama:
class User(Model): id = AutoField(primary_key=True) name = CharField() class Meta: database = db
Antaranya, AutoField mewakili kunci utama auto-incrementing, primary_key=True mewakili medan sebagai kunci utama, dan CharField mewakili jenis rentetan.
(3) Cipta jadual
Selepas menentukan model, anda perlu mencipta jadual yang sepadan dalam pangkalan data yang sepadan. Peewee menyediakan kaedah create_table untuk mencipta jadual, kodnya adalah seperti berikut:
User.create_table()
(4) Masukkan data
Peewee menyediakan kaedah simpan untuk memasukkan data ke dalam pangkalan data. Kod berikut memasukkan sekeping data:
user = User(name='张三') user.save()
(5) Data pertanyaan
Peewee menyediakan kaedah dapatkan dan pilih untuk membuat pertanyaan data. Antaranya, kaedah get digunakan untuk menanyakan sekeping data, dan kaedah pilih digunakan untuk menanyakan beberapa keping data. Kod berikut menanyakan semua pengguna bernama Zhang San:
users = User.select().where(User.name == '张三') for user in users: print(user.id, user.name)
(1) Pertanyaan persatuan
Peewee menyokong Pertanyaan persatuan kunci asing. Kod berikut mentakrifkan model Pesanan, yang mengandungi tiga medan: id, pengguna dan produk:
class Order(Model): id = AutoField(primary_key=True) user = ForeignKeyField(User, backref='orders') product = CharField() class Meta: database = db
Antaranya, ForeignKeyField mewakili kunci asing, dan backref='orders' bermaksud pengguna boleh diakses melalui Pengguna .pesanan Semua pesanan.
Anda boleh melakukan pertanyaan berkaitan melalui kaedah gabungan, seperti yang ditunjukkan di bawah:
orders = Order.select().join(User).where(User.name == '张三') for order in orders: print(order.id, order.user.name, order.product)
(2) Operasi transaksi
Peewee menyokong operasi transaksi. Berbilang operasi pada pangkalan data boleh dirangkumkan dengan db.atomic(). Kodnya adalah seperti berikut:
with db.atomic() as txn: user1 = User(name='张三') user1.save() user2 = User(name='李四') user2.save() for i in range(10): order = Order(user=user1, product='product_' + str(i)) order.save() order = Order(user=user2, product='product_' + str(i)) order.save()
Dengan Perbandingan Django sendiri dengan rangka kerja ORM, Peewee lebih ringan dan lebih fleksibel untuk digunakan. Berbanding dengan SQLAlchemy, sintaks Peewee adalah lebih ringkas dan jelas, dan ia juga menyediakan banyak penggunaan lanjutan yang mudah.
Ringkasnya, Peewee ialah rangka kerja Python ORM yang disyorkan Oleh kerana fleksibiliti dan kemudahan penggunaannya, ia juga digunakan secara meluas dalam banyak projek.
Atas ialah kandungan terperinci Penjelasan terperinci tentang rangka kerja ORM Peewee dalam Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!