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赋值,结果就会出错. 错误: 无法确定依赖 ...
随机推荐
- C# 高级进阶(一)
产品是怎样开发出来的 首先了解--产品MVP(Minimum Viable Product)的概念 最小可行产品--意思即开发最初应该是根据参品预期,最快构建出一个符合预期可行的功能合集,后期再通过用 ...
- vue 优化hash持久化缓存
公司用的是vue最近在学习react的打包时发现react会额外生成一个runtimeChunk,不知道具体原因所以查资料学习了下, 这里是runtime的功能,文章地址:https://sebast ...
- 一文彻底弄懂this关键字用法
哈喽,大家好,我是指北君. 介绍完 native.static.final 关键字后,指北君再接再厉,接着为大家介绍另一个常用的关键字--this. this 也是Java中的一个关键字,在<J ...
- AbpVnext使用分布式IDistributedCache Redis缓存(自定义扩展方法)
AbpVnext使用分布式IDistributedCache缓存from Redis(带自定义扩展方法) 我的依赖包的主要版本以及Redis依赖如下 1:添加依赖 <PackageReferen ...
- SpringBoot笔记(2)
一.容器功能 1.1 组件添加 1. @Configuration Full模式:获取对象时,首先在容器内搜索是否存在,如存在直接拿出 默认为Full模式,单例 配置类组件之间有依赖关系,方法会被调用 ...
- C++模板简介
模板是C++支持参数化多态的工具,使用模板可以使用户为类或者函数声明一种一般模式,使得类中的某些数据成员或者成员函数的参数.返回值取得任意类型. 模板是一种对类型进行参数化的工具: 通常有两种形式:函 ...
- Java变量命名规范
java命名规范 所有方法.变量.类名:见名知意 类成员变量:首字母小写.驼峰原则: 例如:lastName 第一个单词首字母小写,其余首字母大写 局部变量:首字母小写.驼峰原则 类名: 首字母小写. ...
- android kotlin 子线程中调用界面UI组件崩溃
UI 只能在主线程内更新,子线程需要更新UI组件时可以这样: fun fuck(){ Executors.newSingleThreadExecutor().execute{ // url reque ...
- openresty HTTP status constants nginx api for lua
https://github.com/openresty/lua-nginx-module context: init_by_lua, set_by_lua, rewrite_by_lua, acce ...
- Excel 列名转int索引(C#版)
/// <summary> /// 获取Excel实际列索引 /// </summary> /// <param name="columnName"& ...