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)
SQLAlchemy 多对多的更多相关文章
- Python SQLAlchemy多对多外键关联时表结构
# 创建多对多表结构 from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.engine import cre ...
- sqlalchemy多对多查询
# coding:utf-8 from sqlalchemy import create_engine, Column, String, Integer, ForeignKey, Table from ...
- SQLAlchemy多对多
创建多对多表 from sqlalchemy.ext.declarative import declarative_base Base=declarative_base() from sqlalche ...
- pythonのsqlalchemy多对多关系
现在来设计一个能描述“图书”与“作者”的关系的表结构,需求是 一本书可以有好几个作者一起出版 一个作者可以写好几本书 #!/usr/bin/env python from sqlalchemy imp ...
- sqlalchemy 多对多关系
# -*- coding: utf-8 -*- from sqlalchemy import Column, String, create_engine,ForeignKey,Text,Integer ...
- 04:sqlalchemy操作数据库
目录: 1.1 ORM介绍(作用:不用原生SQL语句对数据库操作) 1.2 安装sqlalchemy并创建表 1.3 使用sqlalchemy对表基本操作 1.4 一对多外键关联 1.5 sqlalc ...
- 04:sqlalchemy操作数据库 不错
目录: 1.1 ORM介绍(作用:不用原生SQL语句对数据库操作) 1.2 安装sqlalchemy并创建表 1.3 使用sqlalchemy对表基本操作 1.4 一对多外键关联 1.5 sqlalc ...
- python-MYSQL(包括ORM)交互
1.首先,我们必须得连上我们的MYSQL数据库.个人遇到连不上MYSQL数据的问题主要有:数据库的权限问题.数据库表权限的问题 同时获取数据库中的数据等. //==================== ...
- 应有dataGridView控件
using System.Data.SqlClient; namespace UseDataGridView { public partial class Form1 : Form { public ...
随机推荐
- Tensorflow之多元线性回归问题(以波士顿房价预测为例)
一.根据波士顿房价信息进行预测,多元线性回归+特征数据归一化 #读取数据 %matplotlib notebook import tensorflow as tf import matplotlib. ...
- Conda和Python的国内安装源
Conda和Python的国内安装源 Windows系统: 更换python国内源的方法. 在"C:\Users[xxxx]\pip\pip.ini"文件中配置如下内容(没有则新建 ...
- CentOS7 中创建 Django 项目
1. (新建文件夹用于存放项目)进入指定文件夹,创建Django项目 django-admin.py startproject mysite mysite 为项目名称 2. 进入项目文件夹,新建app ...
- 使用CMD命令部署.NetCore程序到IIS
dotnet restore cd src\XXXXX md publish dotnet publish -o publish cd publish set siteFilePath=%cd% se ...
- 【day05】php
一.时间日期函数库 1.安装:时间日期函数库PHPCORE组成部分 2. (1)date_default_timezone_set(string $timezone) 设置时区 ...
- 基于Apache和tomcat实现负载均衡
1.基于Apache和tomcat实现负载均衡 准备三个虚拟机一个安装Apache两个安装Tomcat 关闭防火墙 systemctl stop firewalld Iptabled -F Seten ...
- Office Online Server 在线编辑Office文档,安装部署
Office Online Server部署安装 部署环境 一台windows server2012 (搭建域环境)/多次遇坑之后,强烈建议域环境为server2012 一台windows serve ...
- 海边拾贝-A-算法篇
收集若干算法博客地址,不定期会更新: 算法 陈浩,leetcode 的C++解法 https://github.com/haoel/leetcode 王亮,很多题目讲解的比较详细 https:/ ...
- tensor 中mul_,add_解读
pytorch 中文网文档链接 https://ptorch.com/docs/1/Tensor 每一个张量tensor都有一个相应的torch.Storage保存其数据,张量类提供了一个多维的,横向 ...
- Mysql 常用数据类型 占用字节数 [转]
数据类型是定义列中可以存储什么数据以及该数据实际怎么存储的基本规则.Mysql的常用数据类型主要有: 串数据类型:最常用的数据类型,有两种基本的串类型:分别为定长串和不定长串.定长串结束长度固定的字符 ...