当前位置: 首页> 房产> 市场 > 推荐专业的外贸建站公司_2023年山东疫情最新消息今天_2020做seo还有出路吗_百度优化关键词

推荐专业的外贸建站公司_2023年山东疫情最新消息今天_2020做seo还有出路吗_百度优化关键词

时间:2025/7/14 0:57:43来源:https://blog.csdn.net/hrj199036/article/details/146172410 浏览次数:0次
推荐专业的外贸建站公司_2023年山东疫情最新消息今天_2020做seo还有出路吗_百度优化关键词

关于sqlalchemy的ORM的使用

  • 二、创建表
  • 三、使用数据表、查询记录

二、创建表

  1. 使用Mapped来映射字段
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker,Mapped,mapped_columnBase = declarative_base()
engine = create_engine('sqlite:///数据库位置')
Session = sessionmaker()class 类名(Base):__tablename__ = '数据库中的表名'字段名:Mapped[类型] = Mapped_column(限制条件)#限制条件有primary_key,unique,nullable.都是布尔类型 .....
  1. 使用Annotated定义共同属性字段
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker,Mapped,mapped_column
from typing_extensions import AnnotatedBase = declarative_base()
engine = create_engine('sqlite:///数据库位置')
Session = sessionmaker()
共同属性 = Annotated[类型,mapped_column(限制条件)]
#注解的方式将字段类型定义好了class 类名(Base):__tablename__ = '数据库的的表名'字段名:Mapped[共同属性]......def __repr__(self):return f'字段:{self.字段名}'#__repr__表示查询返回的值Base.metadata.create_all(engine)#创建表函数
  1. 获取当前时间函数
from sqlalchemy.sql import func
# func.now()表示获取当前时间
from typing_extensions import Annotated共同时间属性 = Annontated[datetime.datetime,mapped_column(server_default=func.now())]
#其它与定义表时一样使用
  1. 一对多创建表
#使用id来定义
# 在mapped_column中添加ForeignKey('被关联表名.id').如:
mapped_column(ForeignKey('被关联表名.id'))
关联表字段:Mapped[类型] = mapped_column(ForeignKey('被关联表名.id'))
#整体表传入
被关联表名(小写):Mapped[被关联表名] = relationship(lazy=False | True(默认))
#正向查询
关联表名.被关联表名(小写)#就可以查询被关联表的值
#lazy=False时,关联表和被关联表一起查询
#lazy=True时,只有调用关联表名.被关联表名时才查询
#反向查询
被关联表名(小写):Mapped[被关联表名] = relationship(lazy=False | True(默认),backref='查询被关联表的变量')

双向查询定义(第二种方法)
在被关联表中定义关联关联表
注:List(from typing import List)
关联表字段名:Mapped[List[“关联表名”]] = relationship(back_populates=‘被关联表名字段’)
在关联表中定义关联被关联表
被关联表名(小写):Mapped[被关联表名] = relationship(back_populates=‘关联表名字段’))。如:
在这里插入图片描述

注:可以用session.flush()强行将数据存入数据库。

三、使用数据表、查询记录

  1. 查询一下类
from slqalchemy import select,
query = select(表名).order_by(表名.字段名)
result = session.execute(query)
  1. 查询多个类
from slqalchemy import select
query = select(类型列表).join(类名.外键名)
关键字:推荐专业的外贸建站公司_2023年山东疫情最新消息今天_2020做seo还有出路吗_百度优化关键词

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: