这篇文章主要介绍了python SQLAlchemy的Mapping与Declarative详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
前面介绍过vSQLAlchemy中的 Engine 和 Connection,这两个对象用在row SQL (原生的sql语句)上操作,而 ORM(Object Relational Mapper)则是一种用面向对象的思维来操作表数据的技术。所谓ORM 就是Python 对象到数据表的一种映射关系。
以前 SQLAlchemy 是怎么把Python对象和数据库中表里面的每条记录进行映射的呢?通过一个mapping函数
先来看个例子:
from sqlalchemy import Table, MetaData, Column, Integer, String,
from sqlalchemy.orm import mapper
# 数据库的元数据,你可以认为它是一个容器,装载了所有的表结构
metadata = MetaData()
# 数据库中的news_article表
article = Table("news_article", metadata,
Column("id", Integer, primary_key=True),
Column("title", String)``
)
# 这是一个普通的Article类
class Article:
def __init__(self, title):
self.title = title
# 通过mapper函数进行映射关联
mapper(Article, article)
关联后怎么使用呢?看例子:
from sqlalchemy.orm imp