创建多对多表

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. 【Spring Boot学习之一】Spring Boot简介

    环境 Java1.8 Spring Boot 1.3.2 一.Spring Boot特点1.使用java运行项目,内置tomcat,无需外部容器:2.减少XML配置,使用properties文件和注解 ...

  2. 常用的sublime text 3插件

    原文出自:peter_zhou(晴空)https://www.cnblogs.com/qingkong/ All Autocomplete Sublime Text 默认的 Autocomplete ...

  3. [转帖]使用 Vagrant 打造跨平台开发环境

    使用 Vagrant 打造跨平台开发环境 https://segmentfault.com/a/1190000000264347 Vagrant 是一款用来构建虚拟开发环境的工具,非常适合 php/p ...

  4. Python 入门(2):数据类型

    一 Number(数字) 1.1 数字类型的创建 a = 10 b = a b = 5 print(a) 10 print(b) 5 1.2 Number 类型转换 a = 5.2 b = 5 c = ...

  5. Python使用Django创建第一个项目

    一 必要环境安装 1首先确保安装了Python3,在此使用的系统为Ubuntu @ubuntu:~$ python3 Python 3.6.7 (default, Oct 22 2018, 11:32 ...

  6. 解决kali安装成功后没有声音的问题

    Kali Linux系统默认状态下,root用户是无法使用声卡的,也就没有声音.启用的方法如下: (1)在终端执行命令:systemctl --user enable pulseaudio (2)在/ ...

  7. golang 之 go-micro

    在安装之前首先需要对go-micro有一定的了解 https://micro.mu/docs/cn/  go-micro中文文档 https://juejin.im/post/5cebafe6f265 ...

  8. Parameter 0 of method sqlSessionTemplate in org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration required a single bean, but 2 were found:

    Parameter 0 of method orderSqlSessionFactory in com.config.MultipleDBConfig required a single bean, ...

  9. AVI文件格式

    AVI文件采用的是RIFF文件结构方式.波形音频wave,MIDI和数字视频AVI都采用这种格式存储. AVI文件的整体结构如下图所示 构造RIFF文件的基本单元叫做数据块(Chunk),每个数据块包 ...

  10. UIView与CALayer的区别,很详细(基础教学拓展)转

    研究Core Animation已经有段时间了,关于Core Animation,网上没什么好的介绍.苹果网站上有篇专门的总结性介绍,但是似乎原理性的东西不多,看得人云山雾罩,感觉,写那篇东西的人,其 ...