Rumah pembangunan bahagian belakang Tutorial Python Penjelasan terperinci tentang rangka kerja ORM Flask-SQLAlchemy dalam Python

Penjelasan terperinci tentang rangka kerja ORM Flask-SQLAlchemy dalam Python

Jun 09, 2023 pm 11:48 PM
flask sqlalchemy rangka kerja orm

Flask-SQLAlchemy ialah rangka kerja ORM (Object Relational Mapping) berdasarkan SQLAlchemy, sesuai untuk aplikasi Flask. Rangka kerja ORM melindungi operasi pangkalan data asas dan menyediakan antara muka pengaturcaraan Python, membenarkan pembangun menggunakan kod Python secara langsung untuk mengendalikan pangkalan data tanpa menulis pernyataan SQL.

Artikel ini akan memperkenalkan penggunaan rangka kerja Flask-SQLAlchemy secara terperinci, termasuk cara menyambung ke pangkalan data, mencipta jadual, memasukkan, mengemas kini, memadam data dan data pertanyaan.

Sambung ke pangkalan data

Sebelum menggunakan Flask-SQLAlchemy, anda perlu mengkonfigurasi sambungan pangkalan data dalam Flask terlebih dahulu. Kaedah khusus adalah seperti berikut:

from flask import Flask
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = '数据库连接信息'  # 数据库连接信息
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False  # 是否追踪对象的修改
db = SQLAlchemy(app)
Salin selepas log masuk

Antaranya, SQLALCHEMY_DATABASE_URI ialah maklumat sambungan pangkalan data. Jika anda menggunakan SQLite, formatnya ialah sqlite:///文件路径; jika ia adalah MySQL, formatnya ialah mysql+pymysql://用户名:密码@主机名/数据库名 (pymysql ialah perpustakaan Python yang digunakan untuk menyambung ke MySQL, formatnya ialah postgresql://用户名:密码@主机名/数据库名);

SQLALCHEMY_TRACK_MODIFICATIONS menunjukkan sama ada untuk menjejak pengubahsuaian objek. Jika ditetapkan kepada Benar, keadaan objek disemak dan ditulis ke pangkalan data pada akhir setiap permintaan. Ciri ini boleh digunakan untuk penyahpepijatan dan pengoptimuman prestasi, tetapi disertakan dengan beberapa overhed. Oleh itu, adalah disyorkan untuk mematikannya dalam persekitaran pengeluaran.

Buat jadual

Flask-SQLAlchemy menyokong mentakrifkan jadual melalui kelas Python. Setiap kelas sepadan dengan jadual pangkalan data, dan atribut dalam kelas sepadan dengan medan jadual pangkalan data.

Berikut ialah contoh:

class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(80), unique=True, nullable=False)
    email = db.Column(db.String(120), unique=True, nullable=False)

    def __repr__(self):
        return '<User %r>' % self.username
Salin selepas log masuk

Antaranya, db.Model ialah kelas asas bagi semua kelas model, menunjukkan bahawa kelas ini ialah model pangkalan data. id, nama pengguna dan e-mel ialah medan jadual ini, dengan id ialah kunci utama, nama pengguna dan e-mel adalah unik dan tidak boleh kosong. Kaedah __repr__() digunakan untuk mencetak objek untuk penyahpepijatan yang mudah.

Untuk mencipta jadual ini, cuma jalankan arahan berikut:

from app import db
db.create_all()
Salin selepas log masuk

Ini akan mencipta jadual bernama Pengguna dalam pangkalan data. Jika ia sudah wujud, ia tidak akan dicipta lagi. Jika terdapat berbilang jadual yang perlu dibuat, ia boleh dibuat menggunakan perintah db.create_all() di tempat yang sama.

Sisipkan data

Untuk memasukkan data ke dalam pangkalan data, anda hanya perlu mencipta contoh kelas dan memanggil kaedah add() dan commit().

from app import db
from app.models import User

user = User(username='test', email='test@test.com')
db.session.add(user)
db.session.commit()
Salin selepas log masuk

Dalam kod di atas, objek Pengguna mula-mula dibuat dan kemudian ditambahkan pada sesi pangkalan data. Akhir sekali, panggil kaedah commit() untuk melakukan transaksi dan simpan data dalam pangkalan data.

Mengemas kini data

Mengemas kini data adalah serupa dengan memasukkan data Anda hanya perlu menanyakan data untuk dikemas kini, mengubah suai atributnya dan menyerahkannya.

from app import db
from app.models import User

user = User.query.filter_by(username='test').first()
user.email = 'new_test@test.com'
db.session.commit()
Salin selepas log masuk

Dalam kod di atas, objek Pengguna yang akan dikemas kini terlebih dahulu ditanya berdasarkan nama pengguna, kemudian atribut e-mel diubah suai dan pengubahsuaian diserahkan.

Memadam data

adalah serupa dengan mengemas kini data Anda hanya perlu menanyakan data yang hendak dipadamkan dahulu, dan kemudian memanggil kaedah delete() untuk memadamkannya.

from app import db
from app.models import User

user = User.query.filter_by(username='test').first()
db.session.delete(user)
db.session.commit()
Salin selepas log masuk

Dalam kod di atas, objek Pengguna yang akan dipadamkan pertama kali ditanya berdasarkan nama pengguna, dan kemudian kaedah delete() dipanggil untuk memadamnya.

Data pertanyaan

Flask-SQLAlchemy menyokong pelbagai kaedah pertanyaan, termasuk pertanyaan mengikut syarat, pengisihan, halaman, dsb.

Pertanyaan mengikut syarat

Pertanyaan mengikut syarat ialah cara yang paling biasa. Anda boleh menggunakan kaedah query.filter() untuk menentukan syarat pertanyaan. Kod sampel adalah seperti berikut:

from app import db
from app.models import User

# 查询所有
users = User.query.all()

# 条件查询
users = User.query.filter_by(username='test').all()
Salin selepas log masuk

Dalam kod di atas, baris pertama kod menanyakan semua data dalam jadual Pengguna baris kedua menanyakan data mengikut syarat nama pengguna='test' .

Isih pertanyaan

Anda boleh menggunakan kaedah order_by() untuk mengisih hasil pertanyaan. Kod contoh adalah seperti berikut:

from app import db
from app.models import User

# 按名称排序(升序)
users = User.query.order_by(User.username).all()

# 按名称排序(降序)
users = User.query.order_by(User.username.desc()).all()
Salin selepas log masuk

Dalam kod di atas, baris pertama kod mengisih hasil pertanyaan dalam tertib menaik nama pengguna;

Pertanyaan paging

Anda boleh menggunakan kaedah paging() untuk melaksanakan pertanyaan paging. Kod sampel adalah seperti berikut:

from app import db
from app.models import User

# 每页2条,查询第1页
users = User.query.paginate(1, 2, False)

# 查询第一页
users = User.query.order_by(User.username).paginate(1, 10, False)
Salin selepas log masuk

Dalam kod di atas, baris pertama pertanyaan kod 2 keping data pada halaman 1; baris kedua pertanyaan kod 10 keping data pada halaman 1 diisih mengikut nama pengguna.

Ringkasan

Flask-SQLAlchemy ialah rangka kerja ORM yang berkuasa yang menyediakan antara muka berkuasa untuk pertanyaan dan mengendalikan pangkalan data, membolehkan pembangun mengendalikan pangkalan data dengan cepat dan mudah. Artikel ini memperkenalkan penggunaan Flask-SQLAlchemy, termasuk mencipta jadual, memasukkan, mengemas kini, memadam dan menanyakan data. Saya harap artikel ini dapat membantu pembaca memahami dan menggunakan Flask-SQLAlchemy dengan lebih baik.

Atas ialah kandungan terperinci Penjelasan terperinci tentang rangka kerja ORM Flask-SQLAlchemy dalam Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial Java
1661
14
Tutorial PHP
1261
29
Tutorial C#
1234
24
Cara membina aplikasi web yang ringkas dan mudah digunakan dengan React dan Flask Cara membina aplikasi web yang ringkas dan mudah digunakan dengan React dan Flask Sep 27, 2023 am 11:09 AM

Cara menggunakan React dan Flask untuk membina aplikasi web yang ringkas dan mudah digunakan Pengenalan: Dengan perkembangan Internet, keperluan aplikasi web menjadi semakin pelbagai dan kompleks. Untuk memenuhi keperluan pengguna untuk kemudahan penggunaan dan prestasi, semakin penting untuk menggunakan tindanan teknologi moden untuk membina aplikasi rangkaian. React dan Flask ialah dua rangka kerja yang sangat popular untuk pembangunan bahagian hadapan dan belakang, dan ia berfungsi dengan baik bersama-sama untuk membina aplikasi web yang ringkas dan mudah digunakan. Artikel ini akan memperincikan cara memanfaatkan React dan Flask

Panduan untuk memasang rangka kerja Flask: Langkah terperinci untuk membantu anda memasang Flask dengan betul Panduan untuk memasang rangka kerja Flask: Langkah terperinci untuk membantu anda memasang Flask dengan betul Feb 18, 2024 pm 10:51 PM

Tutorial pemasangan rangka kerja Flask: Ajar anda langkah demi langkah cara memasang rangka kerja Flask dengan betul. Contoh kod khusus diperlukan. Ia mudah dipelajari, mudah digunakan dan padat dengan ciri yang hebat. Artikel ini akan membawa anda langkah demi langkah untuk memasang rangka kerja Flask dengan betul dan memberikan contoh kod terperinci untuk rujukan. Langkah 1: Pasang Python Sebelum memasang rangka kerja Flask, anda perlu terlebih dahulu memastikan bahawa Python dipasang pada komputer anda. Anda boleh bermula dari P

Django vs. Flask: Analisis perbandingan rangka kerja web Python Django vs. Flask: Analisis perbandingan rangka kerja web Python Jan 19, 2024 am 08:36 AM

Django dan Flask adalah kedua-duanya peneraju dalam rangka kerja Web Python, dan kedua-duanya mempunyai kelebihan dan senario yang boleh digunakan. Artikel ini akan menjalankan analisis perbandingan kedua-dua rangka kerja ini dan memberikan contoh kod khusus. Pengenalan Pembangunan Django ialah rangka kerja Web berciri penuh, tujuan utamanya adalah untuk membangunkan aplikasi Web yang kompleks dengan cepat. Django menyediakan banyak fungsi terbina dalam, seperti ORM (Pemetaan Hubungan Objek), borang, pengesahan, bahagian belakang pengurusan, dsb. Ciri-ciri ini membolehkan Django mengendalikan besar

Mulakan dari awal dan bimbing anda langkah demi langkah untuk memasang Flask dan segera buat blog peribadi Mulakan dari awal dan bimbing anda langkah demi langkah untuk memasang Flask dan segera buat blog peribadi Feb 19, 2024 pm 04:01 PM

Bermula dari awal, saya akan mengajar anda langkah demi langkah cara memasang Flask dan cepat membina blog peribadi Sebagai seorang yang suka menulis, mempunyai blog peribadi adalah sangat penting. Sebagai rangka kerja Web Python yang ringan, Flask boleh membantu kami membina blog peribadi yang ringkas dan berfungsi sepenuhnya dengan cepat. Dalam artikel ini, saya akan bermula dari awal dan mengajar anda langkah demi langkah cara memasang Flask dan membina blog peribadi dengan cepat. Langkah 1: Pasang Python dan pip Sebelum bermula, kita perlu memasang Python dan pi terlebih dahulu

Membandingkan prestasi Gunicorn dan uWSGI untuk penggunaan aplikasi Flask Membandingkan prestasi Gunicorn dan uWSGI untuk penggunaan aplikasi Flask Jan 17, 2024 am 08:52 AM

Penggunaan aplikasi flask: Perbandingan Gunicorn vs suWSGI Pengenalan: Flask, sebagai rangka kerja Web Python yang ringan, disukai oleh banyak pembangun. Apabila menggunakan aplikasi Flask ke persekitaran pengeluaran, memilih Antara Muka Gerbang Pelayan (SGI) yang sesuai adalah keputusan penting. Gunicorn dan uWSGI ialah dua pelayan SGI biasa Artikel ini akan menerangkannya secara terperinci.

Flask vs FastAPI: Pilihan terbaik untuk pembangunan API Web yang cekap Flask vs FastAPI: Pilihan terbaik untuk pembangunan API Web yang cekap Sep 27, 2023 pm 09:01 PM

FlaskvsFastAPI: Pilihan terbaik untuk pembangunan WebAPI yang cekap Pengenalan: Dalam pembangunan perisian moden, WebAPI telah menjadi bahagian yang sangat diperlukan. Mereka menyediakan data dan perkhidmatan yang membolehkan komunikasi dan saling kendali antara aplikasi yang berbeza. Apabila memilih rangka kerja untuk membangunkan WebAPI, Flask dan FastAPI ialah dua pilihan yang telah menarik banyak perhatian. Kedua-dua rangka kerja sangat popular dan masing-masing mempunyai kelebihan tersendiri. Dalam artikel ini, kita akan melihat Fl

Bina aplikasi web visualisasi data interaktif menggunakan Flask dan D3.js Bina aplikasi web visualisasi data interaktif menggunakan Flask dan D3.js Jun 17, 2023 pm 09:00 PM

Dalam beberapa tahun kebelakangan ini, analisis data dan visualisasi data telah menjadi kemahiran yang amat diperlukan dalam banyak industri dan bidang. Adalah sangat penting bagi penganalisis dan penyelidik data untuk membentangkan sejumlah besar data di hadapan pengguna dan membolehkan pengguna memahami maksud dan ciri data melalui visualisasi. Untuk memenuhi keperluan ini, telah menjadi trend untuk menggunakan D3.js untuk membina visualisasi data interaktif dalam aplikasi web. Dalam artikel ini, kami akan membincangkan cara membina visualisasi data interaktif untuk web menggunakan Flask dan D3.js

Panduan Penggunaan Gunicorn untuk Aplikasi Flask Panduan Penggunaan Gunicorn untuk Aplikasi Flask Jan 17, 2024 am 08:13 AM

Bagaimana untuk menggunakan aplikasi Flask menggunakan Gunicorn? Flask ialah rangka kerja Web Python ringan yang digunakan secara meluas untuk membangunkan pelbagai jenis aplikasi Web. Gunicorn (GreenUnicorn) ialah pelayan HTTP berasaskan Python yang digunakan untuk menjalankan aplikasi WSGI (WebServerGatewayInterface). Artikel ini akan memperkenalkan cara menggunakan Gunicorn untuk menggunakan aplikasi Flask, dengan

See all articles