Sanic二十五:Sanic + tortoise-orm 之表关联
一、ForeignKeyField:外键关系字段,此字段表示与另一个模型的外键关系
1、model_name: str 已定义的模型的名称,必传
2、related_name: 外键关系名称
3、on_delete: str 默认"CASCADE"
field.CASCADE:表示如果相关模型被删除,模型应该被级联删除。
field.RESTRICT:表示只要有外键指向,就会限制相关模型的删除。
field.SET_NULL:将字段重置为 NULL,以防相关模型被删除。仅当字段已null=True设置时才能设置。
field.SET_DEFAULT:将字段重置为default值,以防相关模型被删除。只能设置是字段有default设置。
4、to_field:相关模型上的属性名称,用于建立外键关系。如果未设置,则使用 pk
5、db_constraint: bool 控制是否应在数据库中为此外键创建约束。默认值为 True,将此设置为 False 可能对数据完整性非常不利。
使用示例
二、ManyToManyField:多对多关系字段,此字段表示此模型与另一个模型之间的多对多
1、through: 表示直通表的DB表。默认值通常是安全的
2、forward_key: 直通表上的正向查找键。默认值通常是安全的。
3、backward_key: 直通表上的向后查找键。默认值通常是安全的
4、related_name:用于反向解析多对多的相关模型上的属性名称。
5、db_constraint: 控制是否应在数据库中为此外键创建约束,默认值为True,将此设置为False可能对数据完整性非常不利。
6、on_delete: str 默认"CASCADE"
field.CASCADE:表示如果相关模型被删除,模型应该被级联删除。
field.RESTRICT:表示只要有外键指向,就会限制相关模型的删除。
field.SET_NULL:将字段重置为 NULL,以防相关模型被删除。仅当字段已null=True设置时才能设置。
field.SET_DEFAULT:将字段重置为default值,以防相关模型被删除。只能设置是字段有default设置。
三、OneToOneField:一对一
1、model_name: str 已定义的模型的名称,必传
2、related_name: 外键关系名称
3、on_delete: str 默认"CASCADE"
field.CASCADE:表示如果相关模型被删除,模型应该被级联删除。
field.RESTRICT:表示只要有外键指向,就会限制相关模型的删除。
field.SET_NULL:将字段重置为 NULL,以防相关模型被删除。仅当字段已null=True设置时才能设置。
field.SET_DEFAULT:将字段重置为default值,以防相关模型被删除。只能设置是字段有default设置。
4、to_field:相关模型上的属性名称,用于建立外键关系。如果未设置,则使用 pk
5、db_constraint: bool 控制是否应在数据库中为此外键创建约束。默认值为 True,将此设置为 False 可能对数据完整性非常不利。
原文地址:https://www.cnblogs.com/zhongyehai/p/15191618.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- linux后台执行命令&和nohup的具体使用方法
- Linux修改hostname与免密码登录的方法
- Linux启动与停止spring boot工程的脚本示例
- 在Linux上如何检查用户所属组详解
- Linux中移除(删除)符号链接的命令
- Linux定时备份数据库到指定邮箱的方法
- 详解nohup /dev/null 2>&1 含义的使用
- centOS7安装jdk1.8的方法
- 你知道一台Linux服务器可以负载多少个连接吗
- Linux环境下安装Nginx及其使用
- CentOS8中的nmcli使用详解
- 在Linux中使用history命令的方法
- Linux服务器部署JavaWeb项目完整教程
- centos 6 安装vsftpd与PAM虚拟用户的方法
- CentOS6.8中/英文环境切换教程图解