SQLALchemy
1.orm介绍
对象关系映射,对象创建表。优点在于对sql语句进行了封装,用的时候不用关心具体的实现,在安全上解决了sql注入的问题。并且引入的缓存,对数据缓存。缺点性能上有损耗,并且对不支持复杂sql。
2.常用的数据类型
常用的字段类型

3.常用的约束

创建模型类
一对多
from app import db
import datetime
class BaseModel(db.Model):
__abstract__ = True
create_time = db.Column(db.DateTime,default=datetime.datetime.now())
update_time = db.Column(db.DateTime,default=datetime.datetime.now())
class Role(db.Model):
__tablename__ = 'roles'
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(64), unique=True)
users = db.relationship('User', backref='role')
class User(BaseModel):
__tablename__="user"
uid = db.Column(db.BigInteger,primary_key=True,comment="用户id")
name = db.Column(db.String(100),nullable=False,comment="姓名")
password = db.Column(db.String(255))
role_id = db.Column(db.Integer, db.ForeignKey('roles.id'))
多对多
article_tag = db.Table('article_tag',
db.Column('article_id', db.Integer, db.ForeignKey('article.id'), primary_key=True),
db.Column('tag

本文介绍了Flask中SQLAlchemy的ORM操作,包括ORM的概念,常用的数据类型如字段类型,以及如何创建模型类来实现一对多、多对多等约束。通过ORM可以方便地操作数据库,避免直接写SQL,同时提供缓存机制,但可能带来性能损耗。
最低0.47元/天 解锁文章
2765

被折叠的 条评论
为什么被折叠?



