Rumah  >  Artikel  >  pembangunan bahagian belakang  >  ORM berkuasa rangka kerja Django dan akses pangkalan data ringan Flask

ORM berkuasa rangka kerja Django dan akses pangkalan data ringan Flask

PHPz
PHPzasal
2023-09-28 11:01:541098semak imbas

ORM berkuasa rangka kerja Django dan akses pangkalan data ringan Flask

ORM berkuasa rangka kerja Django dan akses pangkalan data ringan Flask

Pengenalan:
Dalam pembangunan web, pangkalan data adalah satu bahagian penting Akses dan operasi pangkalan data adalah penting untuk prestasi dan kebolehpercayaan aplikasi web. Django dan Flask ialah dua rangka kerja web Python popular yang menyediakan cara berbeza untuk mengakses pangkalan data. Artikel ini akan memperkenalkan ORM (Pemetaan Perhubungan Objek) yang berkuasa dalam rangka kerja Django dan kaedah akses pangkalan data ringan dalam rangka kerja Flask, dan memberikan contoh kod khusus.

  1. ORM berkuasa rangka kerja Django
    Django ialah rangka kerja aplikasi web berciri penuh, di mana ORM merupakan bahagian penting daripadanya. ORM ialah teknologi pengaturcaraan yang membolehkan pembangun mengendalikan pangkalan data dalam cara berorientasikan objek dengan memetakan jadual dalam pangkalan data kepada objek Python. ORM Django menyediakan fungsi yang kaya dan sintaks yang mudah, yang boleh melakukan pertanyaan kompleks, memasukkan, mengemas kini dan memadam operasi pada pangkalan data.

Berikut ialah contoh Django ORM yang mudah, menunjukkan cara mencipta kelas model, memasukkan data dan data pertanyaan melalui ORM:

from django.db import models

class User(models.Model):
    name = models.CharField(max_length=50)
    age = models.IntegerField()

# 插入数据
user1 = User(name='Alice', age=25)
user1.save()

user2 = User(name='Bob', age=30)
user2.save()

# 查询数据
users = User.objects.all()
for user in users:
    print(user.name, user.age)

Dalam kod di atas , Kami mula-mula menentukan kelas model Pengguna, yang memetakan ke jadual "pengguna" dalam pangkalan data. Kemudian, kami mencipta dua objek Pengguna dan menyimpannya ke pangkalan data. Akhir sekali, melalui kaedah User.objects.all(), kami memperoleh semua objek Pengguna dalam pangkalan data dan mencetak nama dan umur mereka.

Django's ORM juga menyediakan pelbagai kaedah pertanyaan, seperti filter(), exclude() dan annotate(), dsb., yang boleh menapis data mengikut syarat, mengecualikan data tertentu dan melaksanakan pengagregatan operasi. Selain itu, ORM juga menyokong fungsi lanjutan seperti pengurusan transaksi, migrasi data dan perkaitan model, yang sangat sesuai untuk keperluan operasi pangkalan data yang kompleks.

  1. akses pangkalan data ringan Flask
    Berbanding dengan Django, Flask ialah rangka kerja web yang lebih ringan yang tidak mempunyai ORM terbina dalam. Walau bagaimanapun, Flask menyediakan pakej sambungan "Flask-SQLAlchemy", yang merupakan versi bersepadu Flask bagi SQLAlchemy dan menyediakan sokongan ORM untuk aplikasi Flask.

SQLAlchemy ialah kit alat Python SQL yang membolehkan pembangun menggunakan bahasa SQL untuk operasi pangkalan data dalam Python dengan menyediakan antara muka akses pangkalan data yang cekap dan fleksibel. Flask-SQLAlchemy mengintegrasikan SQLAlchemy dan menyediakan akses pangkalan data yang mudah.

Berikut ialah contoh Flask-SQLAlchemy mudah yang menunjukkan cara menggunakan ORM untuk operasi pangkalan data:

from flask import Flask
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///users.db'
db = SQLAlchemy(app)

class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(50))
    age = db.Column(db.Integer)

# 插入数据
user1 = User(name='Alice', age=25)
db.session.add(user1)
db.session.commit()

user2 = User(name='Bob', age=30)
db.session.add(user2)
db.session.commit()

# 查询数据
users = User.query.all()
for user in users:
    print(user.name, user.age)

Dalam kod di atas, mula-mula kita cipta aplikasi Flask dan Pangkalan Data sambungan dikonfigurasikan. Kemudian kelas model Pengguna ditakrifkan, dan jenis jadual dan medan ditentukan dengan melanjutkan sintaks Flask-SQLAlchemy. Seterusnya, kami mencipta dua objek Pengguna, memperoleh semua objek Pengguna dalam pangkalan data melalui db.session.add()db.session.commit()方法将它们加入数据库中,最后通过User.query.all(), dan mencetak nama dan umur mereka.

Selain operasi pangkalan data asas, Flask-SQLAlchemy juga menyokong pertanyaan kompleks, pengurusan transaksi, migrasi data, perkaitan model dan fungsi lain, yang boleh memenuhi keperluan pangkalan data yang paling biasa.

Ringkasan:
Rangka kerja Django menyediakan fungsi capaian pangkalan data yang kaya melalui ORMnya yang berkuasa, sesuai untuk operasi pangkalan data yang kompleks dan projek besar. Rangka kerja Flask menyediakan kaedah akses pangkalan data yang ringan melalui Flask-SQLAlchemy, yang sesuai untuk projek kecil atau senario yang tidak mempunyai keperluan tinggi untuk akses pangkalan data. Berdasarkan keperluan sebenar, kita boleh memilih rangka kerja dan kaedah capaian pangkalan data yang sesuai, dan menggunakan fungsi dan sintaks yang disediakan untuk membangunkan aplikasi Web yang cekap dan boleh dipercayai.

Rujukan:

  1. Django dokumentasi [Dalam talian]. dokumentasi. [Online]. Tersedia: https://flask.palletsprojects.com/
  2. SQLAlchemy dokumentasi [Dalam talian]. 🎜🎜#Dokumentasi Flask-SQLAlchemy [Dalam talian].

Atas ialah kandungan terperinci ORM berkuasa rangka kerja Django dan akses pangkalan data ringan Flask. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn