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

龙岩做网站的北京网站建设一站式服务

龙岩做网站的,北京网站建设一站式服务,网站开发和前端是一样吗,ckeditor wordpress目录 SQLAlchemy关联表 常用的级联选项 外键 SQLAlchemy关联表 SQLAlchemy 是一个 Python 的 ORM#xff08;对象关系映射#xff09;库#xff0c;它允许你在 Python 中使用类来表示数据库中的表#xff0c;从而更方便地进行数据库操作。在 SQLAlchemy 中#xff0c;可…目录 SQLAlchemy关联表 常用的级联选项 外键 SQLAlchemy关联表 SQLAlchemy 是一个 Python 的 ORM对象关系映射库它允许你在 Python 中使用类来表示数据库中的表从而更方便地进行数据库操作。在 SQLAlchemy 中可以使用关联表relationship来定义两个表之间的关系包括一对一、一对多和多对多等关系。 在定义关联表的时候你可以设置 cascade 参数来指定在删除记录时的级联行为。 常用的级联选项 all删除主记录时从属记录也会被删除。save-update当主记录发生变化时从属记录会自动保存。delete-orphan删除主记录时从属记录也会被删除如果从属记录变成了孤儿没有任何主记录与之关联也会被删除。 以下是一个简单的例子演示了如何在 SQLAlchemy 中设置关联表的删除策略 from sqlalchemy import create_engine, Column, Integer, String, ForeignKey from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import relationshipBase declarative_base()class Parent(Base):__tablename__ parentsid Column(Integer, primary_keyTrue)name Column(String)children relationship(Child, back_populatesparent, cascadeall, delete-orphan)class Child(Base):__tablename__ childrenid Column(Integer, primary_keyTrue)name Column(String)parent_id Column(Integer, ForeignKey(parents.id))parent relationship(Parent, back_populateschildren)# 创建数据库连接 engine create_engine(sqlite:///example.db)# 创建表格 Base.metadata.create_all(engine)Parent 表中有一个名为 children 的关联关系它关联到了 Child 类通过 back_populates 参数指定了反向关系的属性名为 parent并且设置了级联删除策略为 all, delete-orphan这表示在删除父记录时会级联删除子记录并且也会删除变成孤儿的子记录。 Child 表中有一个名为 parent 的关联关系它关联到了 Parent 类通过 back_populates 参数指定了反向关系的属性名为 children。 创建了一个 SQLite 数据库连接并使用 Base.metadata.create_all(engine) 来创建表格。 外键 使用SQLAlchemy创建外键非常简单。在从表中增加一个字段指定这个字段外键的是哪个表的哪个字段就可以了。从表中外键的字段必须和主表的主键字段类型保持一致。 class User(Base):__tablename__ t_userid Column(Integer,primary_keyTrue,autoincrementTrue)uname Column(String(50),nullableFalse,namename)class News(Base):__tablename__ t_newsid Column(Integer,primary_keyTrue,autoincrementTrue)title Column(String(50),nullableFalse)content Column(Text,nullableFalse)uid Column(Integer,ForeignKey(t_user.id,) 外键约束有以下几项 RESTRICT若子表中有父表对应的关联数据删除父表对应数据会阻止删除。默认项 NO ACTION在MySQL中同RESTRICT。 CASCADE级联删除。 SET NULL父表对应数据被删除子表对应数据项会设置为NULL。 from sqlalchemy import Column,Integer,String,Text,ForeignKeyfrom db_util import Base,Sessionclass User(Base):__tablename__ t_userid Column(Integer,primary_keyTrue,autoincrementTrue)uname Column(String(50),nullableFalse,namename)class News(Base):__tablename__ t_newsid Column(Integer,primary_keyTrue,autoincrementTrue)title Column(String(50),nullableFalse)content Column(Text,nullableFalse)# uid Column(Integer,ForeignKey(t_user.id)) # 默认不让删主表数据# uid Column(Integer,ForeignKey(t_user.id,ondelete RESTRICT)) # 默认的策略# uid Column(Integer,ForeignKey(t_user.id,ondelete NO ACTION)) # 默认的策略# uid Column(Integer,ForeignKey(t_user.id,ondelete CASCADE)) # 级联删除发主表的数据被删除子表的里数据也会删除uid Column(Integer,ForeignKey(t_user.id,ondelete SET NULL)) # 发现主表数据被删除时子表的数据列会清空def create_data():user User(uname sxt) news1 News(titlepython,contentflask,uid 1)news2 News(titleMySQL,contentSQL,uid 1)with Session() as ses:ses.add(user)ses.commit()with Session() as ses:ses.add(news1)ses.add(news2)ses.commit()if __name__ __main__:Base.metadata.create_all()create_data()在 News 表中使用了外键 uid 关联到了 t_user.id并设置了删除策略为 SET NULL这表示当 t_user 表中的对应记录被删除时会将 News 表中对应的外键字段即 uid设为 NULL。 提供了一个 create_data 函数来创建用户和新闻的示例数据并在 __main__ 中调用了该函数。 在 create_data 函数中首先创建了一个用户uname 为 sxt然后创建了两条新闻记录并分别将 uid 设置为 1表示这两条新闻属于用户 1。 然后你通过 Session 来提交了这些数据。 最后在 __main__ 中调用了 Base.metadata.create_all() 来创建数据库表结构然后调用了 create_data() 函数来插入示例数据。
http://www.pierceye.com/news/446101/

相关文章:

  • 浙江网站建设服务公司shopex网站搬家
  • 网站服务器无法访问百姓装潢上海门店具体地址
  • 怎么做网站推广怎么样网页截图快捷键是哪个
  • 常州网站制作费用如何搭建网站的支付接口
  • 网站会员体系网站后台都有哪些
  • 宜昌网站建设制作公司网站301在哪做
  • 备案网站分布地点wordpress如何去掉amp:
  • 做一个小说阅读网站怎么做网站 没有备案 访问不了
  • 乐山乐人网站建设公司网站域名查主机名
  • 自适应网站的代表腰肌劳损的自我治疗和恢复的方法有什么?
  • 玉环城乡建设规划局网站企业网站源码带后台
  • 网站热点关键词免费可商用素材网站
  • 网站站内优化案例自己做的网页怎么上传网站吗
  • 深圳制作网站有用吗如何做网站优化
  • 皖住房建设厅网站the 7 wordpress
  • 怎么自己学着做网站写网站代码
  • 自己电脑上做的网站 怎么让别人看怎么做网站在谷歌
  • 同一ip 网站 权重怎样做才能发布你的网站
  • 上海利恩建设集团有限公司网站社交网站先做pc站可以吗
  • 用网站做淘宝客新媒体销售好做吗
  • 手机模板的网站哪个好wordpress关闭google字体
  • 医疗行业网站怎么做网站反链和外链的区别
  • html网站开发事例教程一起做网店官网下载
  • 中小企业网站优化锦州网站制作公司
  • 谁会在掏宝网上做网站网站开发与设计课程设计
  • 公司网站建设的改进的建议前潮网络网站建设
  • 济宁500元网站建设wordpress 安装错误
  • 网站建设周记网站建设公司面临的问题
  • 网站可视化编辑普通网站与营销型网站有什么区别
  • 网站 手机 微信 app福建网站开发企业