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