Jadual Kandungan
Parameter pertama: Flask Application contoh
Parameter kedua: URI sambungan pangkalan data
Putar keluar dari pilihan SQLALCHEMY_TRACK_MODIFICATIONS untuk meningkatkan kecekapan menjalankan program
Memulakan objek db
Rumah pembangunan bahagian belakang Tutorial Python Rangka kerja ORM Flask-SQLAlchemy dalam Python dalam amalan

Rangka kerja ORM Flask-SQLAlchemy dalam Python dalam amalan

Jun 10, 2023 pm 10:57 PM
python rangka kerja orm flask-sqlalchemy

ORM (Object-Relational Mapping) ialah teknologi pengaturcaraan yang memetakan data jadual dalam pangkalan data hubungan kepada objek dalam bahasa pengaturcaraan, membenarkan pembangun program mengendalikan pangkalan data dalam cara berorientasikan objek. Flask-SQLAlchemy ialah rangka kerja ORM yang berkuasa yang boleh memudahkan operasi program Python pada pangkalan data hubungan.

Artikel ini akan memperkenalkan penggunaan rangka kerja Flask-SQLAlchemy secara terperinci melalui contoh.

  1. Konfigurasi persekitaran

Sebelum mempelajari Flask-SQLAlchemy, kita perlu memasang modul Flask dan SQLAlchemy. Anda boleh memasangnya menggunakan arahan pip dalam persekitaran Python.

pip install Flask
pip install SQLAlchemy

  1. Konfigurasi pangkalan data

Konfigurasikan pangkalan data MySQL sebagai storan berterusan projek, sebelum mencipta Flask -SQLAlchemy objek, hanya lulus parameter berikut:

dari Flask import Flask
dari flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)

Parameter pertama: Flask Application contoh

Parameter kedua: URI sambungan pangkalan data

app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root:password@localhost:3306/test'

Putar keluar dari pilihan SQLALCHEMY_TRACK_MODIFICATIONS untuk meningkatkan kecekapan menjalankan program

app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False

Memulakan objek db

db> SQL🎜>db = SQL🎜>

Panggil app.config untuk menetapkan parameter konfigurasi contoh aplikasi Flask Parameter SQLALCHEMY_DATABASE_URI digunakan untuk menentukan jenis pangkalan data yang disambungkan, nama pengguna, kata laluan, alamat IP, nombor port, nama pangkalan data dan maklumat lain.

    Pelaksanaan ORM
Tentukan model data

Pertama, kita perlu mentakrifkan model data, yang merupakan objek pemetaan ORM Di sini kita ambil maklumat pelajar sebagai contoh , takrifkan kelas Pelajar:

dari tarikh import datetime

daripada flask_sqlalchemy import SQLAlchemy

db = SQLAlchemy()

model reka bentuk SQLAlchemy ORM

kelas Pelajar(db.Model):

# 定义表名
__tablename__ = 'student'
# 定义表结构,其中id为主键,自增长
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
name = db.Column(db.String(20), nullable=False)
gender = db.Column(db.String(2), nullable=False)
birthday = db.Column(db.Date, default=datetime.now())
address = db.Column(db.String(200), nullable=False)

# 类对象序列化成字典
def to_dict(self):
    return {c.name: getattr(self, c.name, None) for c in self.__table__.columns}
Salin selepas log masuk

Dalam kelas Pelajar, kami mentakrifkan struktur jadual seperti __tablename__, id, nama, jantina, hari lahir dan alamat. Antaranya, __tablename__ digunakan untuk menentukan nama jadual, id digunakan untuk menentukan kunci utama dan berkembang secara automatik, dan nama medan, jantina, hari lahir dan alamat digunakan untuk menyimpan maklumat tentang nama pelajar, jantina, hari lahir dan alamat.

Tambah, padam, ubah suai dan semak operasi

Seterusnya, kami melaksanakan operasi tambah, padam, ubah suai dan semak:

(1) Tambah maklumat pelajar

@app.route(' /add', methods=['POST'])

def add_student():

student = Student()
student.name = request.form.get('name')
student.gender = request.form.get('gender')
student.birthday = datetime.strptime(request.form.get('birthday'), '%Y-%m-%d').date()
student.address = request.form.get('address')
db.session.add(student)
db.session.commit()
return jsonify({'code': 200, 'msg': 'add student success.'})
Salin selepas log masuk

Mula-mula dapatkan data borang yang diserahkan melalui request.form.get(), kemudian buat objek Pelajar dan tetapkan nilai atribut, dan akhirnya tambahkan objek ke pangkalan data melalui db.session.add() dan lakukan transaksi melalui db.session.commit().

(2) Padamkan maklumat pelajar

@app.route('/delete/', methods=['DELETE'])

def delete_student(id ):

student = Student.query.get(id)
if student:
    db.session.delete(student)
    db.session.commit()
    return jsonify({'code': 200, 'msg': 'delete student success.'})
else:
    return jsonify({'code': 404, 'msg': 'student not found.'})
Salin selepas log masuk

Lulus parameter ID pelajar, dapatkan contoh pelajar melalui kaedah query.get() dan padamkannya daripada pangkalan data menggunakan kaedah db.session.delete() dan padamkannya daripada pangkalan data melalui db.session .commit() melakukan transaksi.

(3) Ubah suai maklumat pelajar

@app.route('/update/', methods=['PUT'])

def update_student(id ):

student = Student.query.get(id)
if student:
    student.name = request.form.get('name')
    student.gender = request.form.get('gender')
    student.birthday = datetime.strptime(request.form.get('birthday'), '%Y-%m-%d').date()
    student.address = request.form.get('address')
    db.session.commit()
    return jsonify({'code': 200, 'msg': 'update student success.'})
else:
    return jsonify({'code': 404, 'msg': 'student not found.'})
Salin selepas log masuk

Begitu juga, dapatkan contoh pelajar berdasarkan parameter ID pelajar Selepas mengubah suai maklumat pelajar, gunakan db.session.commit() untuk menyerahkan transaksi.

(4) Tanya maklumat pelajar

@app.route('/search')

def search_student():

students = Student.query.all()
if students:
    return jsonify({'code': 200, 'msg': 'search student success.', 'data': [student.to_dict() for student in students]})
else:
    return jsonify({'code': 404, 'msg': 'student not found.'})
Salin selepas log masuk

Gunakan kaedah query.all() Tanya semua maklumat pelajar dalam jadual Pelajar, dan gunakan pemahaman senarai untuk menukar senarai objek pelajar kepada senarai kamus dan mengembalikannya.

    Ringkasan
Flask-SQLAlchemy ialah rangka kerja ORM yang sangat berkuasa yang boleh menjadikan kod Python untuk operasi pangkalan data lebih mudah dan lebih mudah dibaca. Artikel ini menyediakan pengenalan yang mendalam tentang penggunaan Flask-SQLAlchemy melalui contoh.

Dalam pembangunan sebenar, kami boleh mentakrifkan model data dan melaksanakan operasi penambahan, pemadaman, pengubahsuaian dan pertanyaan dengan cara yang serupa dengan artikel ini. Kerumitan operasi ini sangat rendah Menggunakan rangka kerja Flask-SQLAlchemy membolehkan kami meningkatkan kecekapan pembangunan dan mengurangkan kos penyelenggaraan program.

Atas ialah kandungan terperinci Rangka kerja ORM Flask-SQLAlchemy dalam Python dalam amalan. 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

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

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)

PHP dan Python: Contoh dan perbandingan kod PHP dan Python: Contoh dan perbandingan kod Apr 15, 2025 am 12:07 AM

PHP dan Python mempunyai kelebihan dan kekurangan mereka sendiri, dan pilihannya bergantung kepada keperluan projek dan keutamaan peribadi. 1.PHP sesuai untuk pembangunan pesat dan penyelenggaraan aplikasi web berskala besar. 2. Python menguasai bidang sains data dan pembelajaran mesin.

Python vs JavaScript: Komuniti, Perpustakaan, dan Sumber Python vs JavaScript: Komuniti, Perpustakaan, dan Sumber Apr 15, 2025 am 12:16 AM

Python dan JavaScript mempunyai kelebihan dan kekurangan mereka sendiri dari segi komuniti, perpustakaan dan sumber. 1) Komuniti Python mesra dan sesuai untuk pemula, tetapi sumber pembangunan depan tidak kaya dengan JavaScript. 2) Python berkuasa dalam bidang sains data dan perpustakaan pembelajaran mesin, sementara JavaScript lebih baik dalam perpustakaan pembangunan dan kerangka pembangunan depan. 3) Kedua -duanya mempunyai sumber pembelajaran yang kaya, tetapi Python sesuai untuk memulakan dengan dokumen rasmi, sementara JavaScript lebih baik dengan MDNWebDocs. Pilihan harus berdasarkan keperluan projek dan kepentingan peribadi.

Penjelasan terperinci mengenai Prinsip Docker Penjelasan terperinci mengenai Prinsip Docker Apr 14, 2025 pm 11:57 PM

Docker menggunakan ciri -ciri kernel Linux untuk menyediakan persekitaran berjalan yang cekap dan terpencil. Prinsip kerjanya adalah seperti berikut: 1. Cermin digunakan sebagai templat baca sahaja, yang mengandungi semua yang anda perlukan untuk menjalankan aplikasi; 2. Sistem Fail Kesatuan (Unionfs) menyusun pelbagai sistem fail, hanya menyimpan perbezaan, menjimatkan ruang dan mempercepatkan; 3. Daemon menguruskan cermin dan bekas, dan pelanggan menggunakannya untuk interaksi; 4. Ruang nama dan cgroups melaksanakan pengasingan kontena dan batasan sumber; 5. Pelbagai mod rangkaian menyokong interkoneksi kontena. Hanya dengan memahami konsep -konsep teras ini, anda boleh menggunakan Docker dengan lebih baik.

Cara menjalankan program di terminal vscode Cara menjalankan program di terminal vscode Apr 15, 2025 pm 06:42 PM

Dalam kod VS, anda boleh menjalankan program di terminal melalui langkah -langkah berikut: Sediakan kod dan buka terminal bersepadu untuk memastikan bahawa direktori kod selaras dengan direktori kerja terminal. Pilih arahan Run mengikut bahasa pengaturcaraan (seperti python python your_file_name.py) untuk memeriksa sama ada ia berjalan dengan jayanya dan menyelesaikan kesilapan. Gunakan debugger untuk meningkatkan kecekapan debug.

Python: Automasi, skrip, dan pengurusan tugas Python: Automasi, skrip, dan pengurusan tugas Apr 16, 2025 am 12:14 AM

Python cemerlang dalam automasi, skrip, dan pengurusan tugas. 1) Automasi: Sandaran fail direalisasikan melalui perpustakaan standard seperti OS dan Shutil. 2) Penulisan Skrip: Gunakan Perpustakaan Psutil untuk memantau sumber sistem. 3) Pengurusan Tugas: Gunakan perpustakaan jadual untuk menjadualkan tugas. Kemudahan penggunaan Python dan sokongan perpustakaan yang kaya menjadikannya alat pilihan di kawasan ini.

Adakah sambungan vscode berniat jahat? Adakah sambungan vscode berniat jahat? Apr 15, 2025 pm 07:57 PM

Sambungan kod VS menimbulkan risiko yang berniat jahat, seperti menyembunyikan kod jahat, mengeksploitasi kelemahan, dan melancap sebagai sambungan yang sah. Kaedah untuk mengenal pasti sambungan yang berniat jahat termasuk: memeriksa penerbit, membaca komen, memeriksa kod, dan memasang dengan berhati -hati. Langkah -langkah keselamatan juga termasuk: kesedaran keselamatan, tabiat yang baik, kemas kini tetap dan perisian antivirus.

Cara Memasang Nginx di CentOs Cara Memasang Nginx di CentOs Apr 14, 2025 pm 08:06 PM

CentOS Memasang Nginx memerlukan mengikuti langkah-langkah berikut: memasang kebergantungan seperti alat pembangunan, pcre-devel, dan openssl-devel. Muat turun Pakej Kod Sumber Nginx, unzip dan menyusun dan memasangnya, dan tentukan laluan pemasangan sebagai/usr/local/nginx. Buat pengguna Nginx dan kumpulan pengguna dan tetapkan kebenaran. Ubah suai fail konfigurasi nginx.conf, dan konfigurasikan port pendengaran dan nama domain/alamat IP. Mulakan perkhidmatan Nginx. Kesalahan biasa perlu diberi perhatian, seperti isu ketergantungan, konflik pelabuhan, dan kesilapan fail konfigurasi. Pengoptimuman prestasi perlu diselaraskan mengikut keadaan tertentu, seperti menghidupkan cache dan menyesuaikan bilangan proses pekerja.

Apa itu vscode untuk apa vscode? Apa itu vscode untuk apa vscode? Apr 15, 2025 pm 06:45 PM

VS Kod adalah nama penuh Visual Studio Code, yang merupakan editor kod dan persekitaran pembangunan yang dibangunkan oleh Microsoft. Ia menyokong pelbagai bahasa pengaturcaraan dan menyediakan penonjolan sintaks, penyiapan automatik kod, coretan kod dan arahan pintar untuk meningkatkan kecekapan pembangunan. Melalui ekosistem lanjutan yang kaya, pengguna boleh menambah sambungan kepada keperluan dan bahasa tertentu, seperti debuggers, alat pemformatan kod, dan integrasi Git. VS Kod juga termasuk debugger intuitif yang membantu dengan cepat mencari dan menyelesaikan pepijat dalam kod anda.

See all articles