05-flask 模型

五、模型基本操作

  • 模型概念
- flask 默认并没有提供任何数据库操作API
- flask 操作数据库, 可以使用原生SQL语句,也可以使用ORM
  • ORM 对象关系映射
用于实现面向对象编程语言里不同类型系统的数据之间的转换。
将对象的操作转换为原生SQL。
- 易用性,可以有效减少重复SQL
- 性能损耗少
- 设计灵活,可以轻松实现复杂查询
- 移植性好

flask-SQLALchemy插件

  • flask-SQLALchemy

  • flask-sqlachemy官网

中文文档:http://www.pythondoc.com/flask-sqlalchemy/quickstart.html
英文文档: http://flask-sqlalchemy.pocoo.org/2.3/quickstart/
  • 安装插件
pip instal flask-sqlaclchemy
  • 初始化(配置)
- 数据库配置 __init__.py 
    # /// 相对路径
    # //// 绝对路径
    app.config['SQLALCHE_DATABASE_URI'] = 'sqlite:///test.db'  # sqlite 保存路径
    
- models.py 中使用db
    db = SQLAlchemy()

- __init__.py 中和应用关联  
    db.init_app(app)
  • 使用
# 定义模型
    class User(db.Model):
        id = db.Column(db.Interger, primary_key=True, autoincrement=True)
        name = db.Column(db.String(40),unique=True)
        age = db.Column(db.Integer)

- 以下在views中操作

# 创建表和数据库
    db.create_all()  # 在views中封装个方法

# 添加数据
    # 模型类对象
    user = User()
    user.name = '%d-测试'%random.randrange(1000)
    user.age = random.randint(18,30)
    
    # 添加
    db.session.add(user)
    
    # 写入数据库
    db.session.commit()

# 查询数据
    # 用户表中所有数据
    users = User.query.all()
    

在django中,默认id会自动添加,并且设置为主键,自增长
flask模型中,必须设置主键,否则会报错!!!

你可能感兴趣的:(05-flask 模型)