sqlalchemy ————关联表
1、创建模型的时候做外键关联
class UI_ID(db.Model):
__tablename__ = 'ui_id'
id = db.Column(INTEGER(11), primary_key=True, comment='id')
id_path = db.Column(INTEGER(11), comment='路径地址')
id_name = db.Column(db.String(255), comment='id名称,可以不填写,由系统生成')
id_model = db.Column(INTEGER(11), ForeignKey(
"project_modules.id"), comment='所属模块')
mk_user = db.Column(INTEGER(11), ForeignKey(
"user.userid"), comment='创建人')
mk_time = db.Column(DateTime, comment='创建时间')
up_time = db.Column(DateTime, comment='更新时间')
id_pro = db.Column(db.String(255), comment='ID 描述') module = db.relationship(
'Project_modules', backref='moduleid_fo_pro_module')
user1 = db.relationship(
'User', primaryjoin='UI_ID.mk_user == User.userid')
主要使用到两个函数 ForeignKey、relationship 。ForeignKey是注明要关联的表以及关联的列,relationship是与关联表做一个映射关系
2、自关联表结构
class Project_modules(db.Model):
__tablename__ = 'project_modules'
id = db.Column(INTEGER(11), primary_key=True, comment='模块ID')
p_id = db.Column(INTEGER(11), comment='项目ID')
name = db.Column(db.String(255), comment='模块名称')
father_id = db.Column(INTEGER(11), ForeignKey(
'project_modules.id'), comment='父级ID')
mk_user = db.Column(db.String(255), comment='创建人')
mk_time = db.Column(DateTime, comment='创建时间')
up_time = db.Column(DateTime, comment='更新时间') module = db.relationship(
'Project_modules', remote_side=[id], backref='module_fo_module')
创建方式与外键关联区别不大、只是在relationship函数内增加了一个remote_side=[id]的字段,意思是标明当前表的哪一列
3、多对多:
待续。。。。
关联表的查询方式: ##############看不懂拉到,反正也是我自己看

sqlalchemy ————关联表的更多相关文章
- SQLAlchemy 关联表删除实验
本实验所用代码来源于官网文档 from sqlalchemy import Table, Column, Integer, String, ForeignKey from sqlalchemy.orm ...
- 数据库多对多关联表(Python&MySQL)
Python Python对MySQL数据库操作使用的是sqlalchemy这个ORM框架 #一本书可以有多个作者,一个作者又可以出版多本书 from sqlalchemy import Table, ...
- SQLAlchemy多表操作
目录 SQLAlchemy多表操作 一对多 数据准备 具体操作 多对多 数据准备 操作 其它 SQLAlchemy多表操作 一对多 数据准备 models.py from sqlalchemy.ext ...
- Yii 1开发日记 -- 后台搜索功能下拉及关联表搜索
Yii 1 实现后台搜索,效果如下: 一. 下拉搜索: 1.模型中和常规的一样 if (isset($_GET['agency']['status']) && $_GET['agenc ...
- Rafy 领域实体框架 - 树型实体功能(自关联表)
在 Rafy 领域实体框架中,对自关联的实体结构做了特殊的处理,下面对这一功能进行讲解. 场景 在开发数据库应用程序时,往往会遇到自关联表的场景.例如,分类信息.组织架构中的部门.文件夹信息等,都 ...
- EF如何操作内存中的数据以及加载相关联表的数据:延迟加载、贪婪加载、显示加载
之前的EF Code First系列讲了那么多如何配置实体和数据库表的关系,显然配置只是辅助,使用EF操作数据库才是每天开发中都需要用的,这个系列讲讲如何使用EF操作数据库.老版本的EF主要是通过Ob ...
- AppBox升级进行时 - 关联表查询与更新(Entity Framework)
AppBox 是基于 FineUI 的通用权限管理框架,包括用户管理.职称管理.部门管理.角色管理.角色权限管理等模块. 关联表的查询操作 使用 Include 方法,我们可以在一次数据库查询中将关联 ...
- MVC5+EF6 简易版CMS(非接口) 第四章:使用业务层方法,以及关联表解决方案
目录 简易版CMS后台管理系统开发流程 MVC5+EF6 简易版CMS(非接口) 第一章:新建项目 MVC5+EF6 简易版CMS(非接口) 第二章:建数据模型 MVC5+EF6 简易版CMS(非接口 ...
- EF架构~CodeFirst自关联表的插入
回到目录 这个文章对之前EF的一个补充,对于一些自关联表的添加,如果你建立了表约束确实有这种问题,一般主键为整形自增,父ID为可空,这时,在添加时如果不为ID赋值,结果就会出错. 错误: 无法确定依赖 ...
随机推荐
- 【AI】TorchVision_DataLoad
From: https://liudongdong1.github.io/ All datasets are subclasses of torch.utils.data.Dataset i.e, t ...
- C# 线程安全的集合
参考网址: https://docs.microsoft.com/en-us/dotnet/standard/collections/thread-safe/ Thread-Safe Collecti ...
- Mooc中国大学Python学习笔记--数字类型及操作
整数类型 只需知道整数无限制,pow(),4进制表示形式 与数学中整数的概念一致 --可正可负,没有取值范限制 --pow(x,y)函数:计算x^y,想算多大算多大 -十进制:10 -二进制,以0b或 ...
- ProjectEuler 006题
题目: The sum of the squares of the first ten natural numbers is, 12 + 22 + ... + 102 = 385 The square ...
- Kafka客户端内存缓冲GC处理机制--客户端内存
1.Kafka的客户端缓冲机制 首先,先得给大家明确一个事情,那就是在客户端发送消息给kafka服务器的时候,一定是有一个内存缓冲机制的. 也就是说,消息会先写入一个内存缓冲中,然后多条消息组成了一个 ...
- redis BLPOP命令阻塞,非阻塞(读了好久才懂)
来源于:http://redisdoc.com/list/blpop.html#id1BLPOP key [key -] timeout 可用版本: >= 2.0.0 时间复杂度: O(1) B ...
- win系统打不开CHM文件(例如JDK的API)
打开文件乱码,打开时弹出乱码 前提说明,存放路径不得有中文,文件名也不能有中文 检查下面三个文件: hh.exe文件放置电脑 C:\Windows目录下: hhctrl.ocx ,its ...
- 4.React生命周期
4.React生命周期 4.1引出生命周期 class Life extends React.Component { state = { opacity:0.5 } death = () => ...
- 16 bit 的灰度图如何显示
16 bit 的灰度图如何在QT中显示 用Mat构造的 16 bit 灰度图 无法直接显示,需要转换成 8 bit 的灰度图在QT中显示, 使用OpenCV自带的最大最小值归一法, cv::norma ...
- Redis-技术专区-帮从底层彻底吃透RDB技术原理
每日一句 低头是一种能力,它不是自卑,也不是怯弱,它是清醒中的嬗变.有时,稍微低一下头,或者我们的人生路会更精彩. 前提概要 Redis是一个的键-值(K-V)对的内存数据库服务,通常包含了任意个非空 ...