from sqlalchemy.orm import mapperfrom sqlalchemy import Table,MetaData
metadata = MetaData()def getNewModel(name):
t = type(name,(object,),dict())
user = Table(name,metadata,
Column('id',Integer,primary_key = True),
)
mapper(t,user)return t
t1 = getNewModel("t1")
t2 = getNewModel("t2")
#看例子:node = Node()
node.name = 'name'
db.session.add(node)
db.session.flush() # 主要是这里,写入数据库,但是不提交
this_id = node.id # 这样就可以获得自增id了
db.session.commit()
SQLAlchemySQLAlchemy是Python编程语言下的一款ORM框架,该框架建立在数据库API之上,使用关系对象映射进行数据库 *** 作,简言之便是:将对象转换成SQL,然后使用数据API执行SQL并获取执行结果。
ORM方法论基于三个核心原则:
简单:以最基本的形式建模数据。
传达性:数据库结构被任何人都能理解的语言文档化。
精确性:基于数据模型创建正确标准化了的结构。
Dialect用于和数据API进行交流,根据配置文件的不同调用不同的数据库API,从而实现对数据库的 *** 作,如:
'数据库类型+数据库驱动名称://用户名:口令@机器地址:端口号/数据库名'
在sqlalchemy.schema包里有数据库关系的描述,列举几个最常用的:
字段:Column
索引:Index
表:Table
数据类型在sqlalchemy.types包,列举几个最常用的:
二进制:BIGINT
布尔:BOOLEAN
字符:CHAR
可变字符:VARCHAR
日期:DATETIME
其他方法 execute,update,insert,select,delete,join等 自行补脑
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)