Flask-SQLAlchemy插件
生活随笔
收集整理的這篇文章主要介紹了
Flask-SQLAlchemy插件
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一,初始化
兩種方式:
db = SQLAlchemy() def create_app():app = Flask(__name__)db.init_app(app)return app app = Flask(__name__) db = SQLAlchemy(app)二,配置填寫
SQLALCHEMY_DATABASE_URI = "mysql+pymysql://root:root@127.0.0.1/firstsqlalchemy"三,使用
-
ORM類:之前都是通過Base = declarative_base()來初始化一個基類,然后再繼承,在Flask-SQLAlchemy中更加簡單了(代碼依賴以上示例):
class User(db.Model):id = db.Column(db.Integer,primary_key=True)username = db.Column(db.String(80),unique=True)email = db.Column(db.String(120),unique=True)def __init__(self,username,email):self.username = usernameself.email = emaildef __repr__(self):return '<User %s>' % self.username -
映射模型到數據庫表:使用Flask-SQLAlchemy所有的類都是繼承自db.Model,并且所有的Column和數據類型也都成為db的一個屬性。但是有個好處是不用寫表名了,Flask-SQLAlchemy會自動將類名小寫化,然后映射成表名。
db.create_all()
寫完類模型后,要將模型映射到數據庫的表中,使用以下代碼創建所有的表: -
添加數據:這時候就可以在數據庫中看到已經生成了一個user表了。接下來添加數據到表中:
admin = User('admin','admin@example.com') guest = User('guest','guest@example.com') db.session.add(admin) db.session.add(guest) db.session.commit()添加數據和之前的沒有區別,只是session成為了一個db的屬性。
-
查詢數據:查詢數據不再是之前的session.query了,而是將query屬性放在了db.Model上,所以查詢就是通過Model.query的方式進行查詢了:
users = User.query.all() # 再如: admin = User.query.filter_by(username='admin').first() # 或者: admin = User.query.filter(User.username='admin').first() -
刪除數據:刪除數據跟添加數據類似,只不過session是db的一個屬性而已:
db.session.delete(admin) db.session.commit()
?
?
轉載于:https://www.cnblogs.com/donghaoblogs/p/10389691.html
總結
以上是生活随笔為你收集整理的Flask-SQLAlchemy插件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux中Postfix邮件发送配置(
- 下一篇: MySQL事务的介绍+事务的特性+事务的