3.在Flask里使用ORM

本文介绍了如何在Flask应用中使用SQLAlchemy进行ORM操作,包括SQL与NoSQL的选择,重点讲解了如何定义模型,建立数据库关系,如在用户和角色之间创建一对多的关系。内容涵盖数据库配置、模型定义、列类型和关系选项。
摘要由CSDN通过智能技术生成

SQL与NoSQL的选择

SQL数据库是基于关系模型的关系型数据库,使用结构化查询语言(Structured Query Languag),很高效,少重复
NoSQL包括文档数据库、键值对数据库、列存储数据库、图形数据库,放宽对一致性的要求,有性能上的优势
两者各有好坏,可以根据实际去选择,这里我用的SQLite(不需要服务器便于演示)

SQLAlchemy的使用

SQLAlchemy提供了SQL工具包及对象关系映射(ORM)工具,也就是数据库抽象层,Flask-SQLAlchemy包装了SQLAlchemy,安装起来方便快捷:
pip install flask-sqlalchemy

安装后需要在app.config字典中添加数据库的URI和配置项,改动代码如下:

from flask_sqlalchemy import SQLAlchemy
...
basedir = os.path.abspath(os.path.dirname(__file__)) # 根据文件名确定绝对路径
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///' + os.path.join(basedir, 'data.sqlite') # 组成数据库文件路径
app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN'] = True 
...
db = SQLAlchemy(app) # db实例表示程序使用的数据库,提供了常用方法供使用

在Flask-SQLAlchemy中,数据库使用URL指定,最流行的数据库引擎采用的数据库URL格式如下:

数据库引擎 URL
MySQL mysql://username:password@hostname/datab

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值