Flask SQLAlchemy 增删改查

使用Flask-SQLAlchemy创建模型与表的映射


    1. 模型需要继承自db.Model
    2. 属性必须写成 db.Column()的数据类型
    3. 数据类型 db.String 是varchar
    4. db.Text 是text
    5. db.Integer 是int
    6. db.Column()中的数据类型需要加上长度
    7. 其他参数有primary_key
    8. autoincrement
    9. nullable 这些参数可以设置为True OR False

class Article(db.Model):
    __tablename__ = "article"
    id =db.Column(db.Integer,primary_key=True, autoincrement=True)
    title = db.Column(db.String(100), nullable=False)
    content = db.Column(db.Text, nullable=False)

增加数据


    arricle = Article(title="aaa",content="bbb")
    db.session.add(arricle)
    db.session.commit()

查询数据


    result = Article.query.filter(Article.title=='mark').first()
    print(result.content)

    1. query是从db.Model中继承来的
    2. query.filter(Article.title=’xx’)过滤条件
    3. first()取出查询结果的第一条数据 实际上就是一个Article对象
    4. .all()是查询到的所有结果 是一个Article对象数组

修改数据


    1. 查询到要改的数据 拿到Article对象
    2. 更新 article1.title=’new title’
    3. db.session.commit()

    result = Article.query.filter(Article.title=='success').first()
    old_title = result.title
    result.title = 'success2018'
    db.session.commit()

删除


    1. 查出要删除的数据 拿到Article对象
    2. db.session.delete(article)
    3. db.session.commit()

    result = Article.query.filter(Article.title=='success2018').first()
    db.session.delete(result)
    db.session.commit()


更详细的知识:https://segmentfault.com/a/1190000004618621
SQLAlchemy官方文档:http://flask-sqlalchemy.pocoo.org/2.1/






你可能感兴趣的:(Flask,Web)