SQLAlchemy怎么在Oracle中自动建立映射

SQLAlchemy怎么在Oracle中自动建立映射,第1张

使用type动态创建类,并动态绑定metaData这种方式来动态创建类:

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()

SQLAlchemy

SQLAlchemy是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等 自行补脑


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11307135.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存