当前位置: 首页 > news >正文

上海韵茵网站建设郑州营销型网站建设

上海韵茵网站建设,郑州营销型网站建设,河北省建设厅网站首页,姑苏美食标题网页设计素材文章目录 表关系ORM表示 1v1ORM表示 1vm 表关系 1:1,表A 中的一条记录,仅对应表B中的一条记录;表B的一条记录,仅对应表A的一条记录。1:m,表A中的一条记录,对应表B中的多条记录,表B中的一条记录…

文章目录

  • 表关系
  • ORM表示 1v1
  • ORM表示 1vm

表关系

  • 1:1,表A 中的一条记录,仅对应表B中的一条记录;表B的一条记录,仅对应表A的一条记录。
  • 1:m,表A中的一条记录,对应表B中的多条记录,表B中的一条记录,仅对应表A的中的一条;(多的一方创建外键)
  • m:n ,表A 中的一条记录,可对应表B中的多条记录;表B的一条记录,也可对应表A的多条记录。

 

ORM表示 1v1

pass

 

ORM表示 1vm

  • 表结构
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 创建模型类
from sqlalchemy import Column, Integer, Float, String, Enum, ForeignKey, VARCHAR
from sqlalchemy.dialects.mysql import VARCHAR
from sqlalchemy.orm import declarative_base, relationship, Session, sessionmaker # sessionmaker返回一个会话类
from sqlalchemy import create_engine# base class
Base = declarative_base()# Address
class Address(Base):__tablename__ = "address_t"id = Column(Integer, primary_key=True)# 地址字段, mysql数据库使用VARCHAR类型,其他使用String类型title = Column("address", String(50).with_variant(VARCHAR(50, charset="utf8"), "mysql"), nullable=False)# 外键user_id = Column(Integer, ForeignKey("user_t.id"), nullable=True)# 关系(非表字段),模型类之间的引用# back_populates 双向的 反向引用(通过属性)# cascade 级联动作 delete-orphan 表示子表断开引用主表时,删除记录,仅用于1:m 中1的一方user = relationship("User", back_populates="addresses")def __repr__(self): # 打印对象时的输出return f"{self.title}"# User
class User(Base):__tablename__ = "user_t"id = Column(Integer, primary_key=True)name = Column(String(30), unique=True)fullname = Column(String(50))# 枚举sex = Column(Enum("male", "female", name="sex")) age = Column(Integer)role_id = Column(Integer, ForeignKey("role_t.id"), nullable=True)# 关系addresses = relationship("Address", back_populates="user", cascade="all, delete-orphan")role = relationship("Role", back_populates="users")def __repr__(self):return f"{self.name}"# Role
class Role(Base):__tablename__ = "role_t"id = Column(Integer, primary_key=True)name = Column(String(30), unique=True)# 关系users = relationship("User", back_populates="role")def __repr__(self):return f"{self.name!r}"# 创建懒连接
sqlalchemy_database_uri = "postgresql://user:pw@ip:port/dbxx"
engine = create_engine(sqlalchemy_database_uri, echo=True)
# 删除所有的表
Base.metadata.drop_all(engine)
# 创建所有的表
Base.metadata.create_all(engine)
# 创建会话
with Session(engine) as session:jack = User(name="jack", fullname="张三", sex="male", age=34, addresses=[Address(title="北京"), Address(title="河南")])tom = User(name="tom", fullname="李四", sex="female", age=25, addresses=[Address(title="武汉")])# 创建角色 role = Role(name="老师", users=[jack, tom])# 仅仅添加一个****主表记录**** 即可,子表记录 连带添加session.add(role)session.commit() # 事务的最终提交

在这里插入图片描述
在这里插入图片描述
主表记录插入时,连带子表记录一起插入。

http://www.hengruixuexiao.com/news/52986.html

相关文章:

  • 机构改革后政府网站建设方案淘宝定向推广
  • 网站开发语言有几种搜索引擎优化排名案例
  • 哪里有南宁网站建设百度账号客服人工电话
  • 网站登录密码忘记了怎么办大数据技术主要学什么
  • 做网站做地区好还是全国的好处百度入驻
  • 怎样在赶集微网站做微招聘信息东莞网络推广排名
  • 网站建设是怎么赚钱的链接平台
  • 红桥天津网站建设百度软文推广怎么做
  • 梅州站扩建seo外链推广平台
  • 微信上如何投放广告佛山抖音seo
  • 下载好了网站模板怎么开始做网站好用搜索引擎排名
  • 信用湘潭网站深圳网络推广系统
  • 桐城住房和城乡建设局网站b站在线观看
  • 外贸网站怎样做新手怎么做seo优化
  • 找人做网站去哪里网址申请注册
  • 深圳市政府网站建设 网站管理电商运营多少钱一个月
  • 无网站做百度推广网络软文发布
  • 公司流程管理系统安卓内核级优化神器
  • 电商网站适合做响应式布局吗网上如何推广产品
  • 做纪念品网站种子搜索引擎
  • web是什么百度地图排名怎么优化
  • 装修是全包划算还是半包划算宁波seo公司网站推广
  • 怎么样才能找到网站后台网址网络营销师培训费用是多少
  • 天津市住房和城乡建设厅官方网站友情链接交换的方法
  • 宾馆网站制作进入百度app
  • 网站开发a ajax免费网站安全软件大全
  • 山东企业网站建设报价搜索引擎优化的实验结果分析
  • wordpress 修改端口号廊坊seo管理
  • 天门市电子商务网站建设做网站用哪个软件
  • 江岸区网站公司教育培训机构网站