zoukankan      html  css  js  c++  java
  • SQLAlchemy多对多

    创建多对多表

    复制代码
    from sqlalchemy.ext.declarative import declarative_base
    Base=declarative_base()
    
    from sqlalchemy import Column,String,Integer,ForeignKey
    from sqlalchemy.orm import relationship
    
    class Girl(Base):
        __tablename__="girl"
        id = Column(Integer,primary_key=True)
        name=Column(String(32))
    #secondary="Hotel" 表示两个表关联Hotel
        girl2boy = relationship("Boy",secondary="hotel",backref="boy2girl" )
    
    
    class Boy(Base):
        __tablename__ = "boy"
        id = Column(Integer,primary_key=True)
        name = Column(String(32))
    
    
    class Hotel(Base):
        __tablename__ = "hotel"
        id=Column(Integer,primary_key=True)
        girl_id =Column(Integer,ForeignKey("girl.id"))
        boy_id=Column(Integer,ForeignKey("boy.id"))
    
    from sqlalchemy import create_engine
    engine=create_engine("mysql+pymysql://root:@127.0.0.1:3306/day127?charset=utf8")
    
    Base.metadata.create_all(engine)
    复制代码

    添加多对多数据

    复制代码
    from sqlalchemy.orm import sessionmaker
    from SQL.M_M import engine,Boy
    
    Session=sessionmaker(engine)
    db_session=Session()
    #反向添加
    # boy_obj=Boy(name="kobe")
    # boy_obj.boy2girl =[Girl(name="dva"),Girl(name="xiaoemi")]
    # db_session.add(boy_obj)
    # db_session.commit()
    # db_session.close()
    #正向添加
    # girl_obj=Girl(name="anna",girl2boy=[Boy(name="curry"),Boy(name="green")])
    # db_session.add(girl_obj)
    # db_session.commit()
    # db_session.close()
    #正向查询
    # g_list=db_session.query(Girl).all()
    # for row in g_list:
    #     for item in row.girl2boy:
    #         print(row.id,row.name,item.name)
    
    #反向查询
    b_list=db_session.query(Boy).all()
    for row in b_list:
        for item in row.boy2girl:
            print(row.id,row.name,item.name)
  • 相关阅读:
    不拖控件的asp.net编程方法——第1回
    实习的故事之——第7天
    最近遇到的问题总结!
    实习的故事之——第5天
    asp.net MVC最简单的增删查改!(详)
    实习的故事之——第3天
    如何去除CFormView的Scrollbar
    Mac java环境配置
    【Kafka入门】Kafka基础结构和知识
    [原创]git使用入门
  • 原文地址:https://www.cnblogs.com/qq849784670/p/10386152.html
Copyright © 2011-2022 走看看