创建多对多表

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)

SQLAlchemy多对多的更多相关文章

  1. Python SQLAlchemy多对多外键关联时表结构

    # 创建多对多表结构 from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.engine import cre ...

  2. sqlalchemy多对多查询

    # coding:utf-8 from sqlalchemy import create_engine, Column, String, Integer, ForeignKey, Table from ...

  3. SQLAlchemy 多对多

    创建多对多表 from sqlalchemy.ext.declarative import declarative_base Base=declarative_base() from sqlalche ...

  4. pythonのsqlalchemy多对多关系

    现在来设计一个能描述“图书”与“作者”的关系的表结构,需求是 一本书可以有好几个作者一起出版 一个作者可以写好几本书 #!/usr/bin/env python from sqlalchemy imp ...

  5. sqlalchemy 多对多关系

    # -*- coding: utf-8 -*- from sqlalchemy import Column, String, create_engine,ForeignKey,Text,Integer ...

  6. 04:sqlalchemy操作数据库

    目录: 1.1 ORM介绍(作用:不用原生SQL语句对数据库操作) 1.2 安装sqlalchemy并创建表 1.3 使用sqlalchemy对表基本操作 1.4 一对多外键关联 1.5 sqlalc ...

  7. 04:sqlalchemy操作数据库 不错

    目录: 1.1 ORM介绍(作用:不用原生SQL语句对数据库操作) 1.2 安装sqlalchemy并创建表 1.3 使用sqlalchemy对表基本操作 1.4 一对多外键关联 1.5 sqlalc ...

  8. python-MYSQL(包括ORM)交互

    1.首先,我们必须得连上我们的MYSQL数据库.个人遇到连不上MYSQL数据的问题主要有:数据库的权限问题.数据库表权限的问题 同时获取数据库中的数据等. //==================== ...

  9. 应有dataGridView控件

    using System.Data.SqlClient; namespace UseDataGridView { public partial class Form1 : Form { public ...

随机推荐

  1. linux安装jira

    JIRA配置本地MYSQL数据库 https://blog.csdn.net/coin_one/article/details/78376238 jira7.3.6 linux安装及破解 https: ...

  2. SpringBoot小技巧:修改java可执行jar包内容

    SpringBoot小技巧:修改java可执行jar包内容 情景描述 在生产环境中,有时候我们发现了个小bug,开发迅速修改代码后,很多时候我们不得不重新发布一个新的可执行jar包上去替换掉.但是这样 ...

  3. DevOps - 基础设施配置测试工具Serverspec

    1 - Serverspec Serverspec是可以测试基础设施配置的工具,能够验证配置管理工具(Ansible.Puppet.Chef等)的配置结果,可以实现基础设施测试代码化自动化. 测试代码 ...

  4. 绘制UML图的工具

    目前在用processOn网站进行绘制:https://www.processon.com/ 学习其简单的入门教程: https://www.processon.com/support https:/ ...

  5. 实现一个java锁

    AQS是实现java锁的核心,但是实现起来还是仅仅只需继承该类重写它的几个主要方法即可. 1.首先,定义一个同步类,继承AQS. //这里要有个Sync内部类,实现锁需要继承AQSprivate st ...

  6. 图像变化之Laplacian()函数 and Schaar()滤波及综合例子

    先来  Laplacian()函数 #include<math.h> #include<opencv2/opencv.hpp> #include<string.h> ...

  7. 文件和异常练习2——python编程从入门到实践

    10-6 加法运算:提示用户输入提供数值输入,常出现的一个问题是,用户提供的是文本而不是数字.这种情况下,当你尝试将输入转换为整数时,将 引发TypeError异常.编写一个程序,提示用户输入两个数字 ...

  8. Compact Middle Packages

    idea工具进行Java开发,在项目视图,默认是将package层级以简洁显示的,如下图: 但有时,我们希望不要使用这种模式,比如:某个父包下,有一个子包,想在父包下,增加一个包,可是来时增加在子包下 ...

  9. Java单元测试 Http Server Mock框架选型

    背景动机 某期优化需要针对通用的HttpClient封装组件--HttpExecutor在保证上层暴露API不动的前提做较多改动,大致包括以下几点: apache http client 版本升级 H ...

  10. C# 截取字符串方法总结

    第一种:根据单个分隔字符用split截取 string st="GT123_1"; string[] sArray=st.split("_"); //即可得到s ...