Flask中怎么實(shí)現(xiàn)ORM

小億
126
2024-05-10 18:11:59

在Flask中可以使用SQLAlchemy來(lái)實(shí)現(xiàn)ORM(對(duì)象關(guān)系映射),以下是一個(gè)簡(jiǎn)單的示例:

  1. 首先安裝SQLAlchemy
pip install sqlalchemy
  1. 創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)連接和ORM模型
from flask_sqlalchemy import SQLAlchemy
from flask import Flask

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

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

    def __repr__(self):
        return '<User %r>' % self.username

  1. 創(chuàng)建數(shù)據(jù)庫(kù)表
# 在Flask應(yīng)用中可以通過(guò)下面這個(gè)命令來(lái)創(chuàng)建數(shù)據(jù)庫(kù)表
# 在Python控制臺(tái)中運(yùn)行
from yourapplication import db
db.create_all()
  1. 使用ORM操作數(shù)據(jù)庫(kù)
# 在Flask應(yīng)用中可以通過(guò)下面這樣的方式來(lái)操作數(shù)據(jù)庫(kù)
from yourapplication import User

# 創(chuàng)建一個(gè)新用戶
new_user = User(username='Alice')
db.session.add(new_user)
db.session.commit()

# 查詢用戶
user = User.query.filter_by(username='Alice').first()
print(user)

# 更新用戶
user.username = 'Bob'
db.session.commit()

# 刪除用戶
db.session.delete(user)
db.session.commit()

以上就是在Flask中使用SQLAlchemy實(shí)現(xiàn)ORM的基本步驟,通過(guò)ORM可以將數(shù)據(jù)庫(kù)表映射成Python類,方便進(jìn)行數(shù)據(jù)庫(kù)操作。

0