Python - Django - ORM 常用的字段属性
字段参数:
null:用于表示某个字段可以为空
unique:如果设置为 unique=True,则该字段在此表中必须是唯一的
db_index:如果 db_index=True,则代表着为此字段设置数据库索引
default:为该字段设置默认值
关系字段参数:
to:设置要关联的表
to_field:设置要关联的表的字段
related_name:反向操作时,使用的字段名,用于代替原反向查询时的 '表名_set'
related_query_name:反向查询操作时,使用的连接前缀,用于替换表名
db_constraint:是否在数据库中创建外键约束,默认为 True
on_delete:当删除关联表中的数据时,当前表与其关联的行的行为
on_delete 的值:
models.CASCADE:删除关联数据,与之关联也删除。默认的,可以不写,在 Django 2 后需要写上。
models.DO_NOTHING:删除关联数据,引发错误 IntegrityError
models.PROTECT:删除关联数据,引发错误 ProtectedError
models.SET_NULL:删除关联数据,与之关联的值设置为 null(前提 ForeignKey 字段需要设置为可空)
models.SET_DEFAULT:删除关联数据,与之关联的值设置为默认值(前提 ForeignKey 字段需要设置默认值)
models.SET:删除关联数据,与之关联的值设置为指定值,设置:models.SET(值);与之关联的值设置为可执行对象的返回值,设置:models.SET(可执行对象)
from django.db import models class Person(models.Model):
id = models.AutoField(primary_key=True)
name = models.CharField(max_length=32)
age = models.IntegerField()
birthday = models.DateField(auto_now_add=True) class Man(models.Model):
id = models.AutoField(primary_key=True)
# to="Person" 表示跟 Person 关联
# to_field="name" 表示跟 Person 表的 name 字段关联
# on_delete=models.CASCADE 关联数据被删除时,关联也会被删除
# db_constraint=False 表示两个关联数据在数据库操作上没有关系
name = models.ForeignKey(to="Person", on_delete=models.CASCADE, db_constraint=False)
Python - Django - ORM 常用的字段属性的更多相关文章
- Django ORM常用的字段和参数
		
ORM 常用字段 AutoField int自增列,必须填入参数 primary_key=True.当model中如果没有自增列,则自动会创建一个列名为id的列. IntegerField 一个整数类 ...
 - Python - Django - ORM 常用字段
		
AutoField: int 自增列,必须填入参数 primary_key=True 如果没有写 AutoField,则会自动创建一个列名为 id 的列 from django.db import m ...
 - python - django (ORM常用字段)
		
# """ python manage.py makemigrations # 更新操作 python manage.py migrate # 转换sql语句到数据库 1 ...
 - Django --ORM常用的字段和参数 多对多创建形式
		
1 ORM字段 AutoField int自增列,必须填入参数 primary_key=True.当model中如果没有自增列,则自动会创建一个列名为id的列. IntegerField 一个整数类型 ...
 - Django(ORM常用字段)
		
day68 参考:http://www.cnblogs.com/liwenzhou/p/8688919.html 1. Django ORM常用字段: 1. AutoField ...
 - Django orm常用字段和字段参数
		
1.Object Relational Mapping(ORM) 1.1ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象 ...
 - Django ORM 常用字段和参数
		
Django ORM 常用字段和参数 一:常用字段 AutoField int自增列,必须填入参数 primary_key=True.当model中如果没有自增列,则自动会创建一个列名为id的列. I ...
 - Django框架之第六篇(模型层)--单表查询和必知必会13条、单表查询之双下划线、Django ORM常用字段和参数、关系字段
		
单表查询 补充一个知识点:在models.py建表是 create_time = models.DateField() 关键字参数: 1.auto_now:每次操作数据,都会自动刷新当前操作的时间 2 ...
 - Django ORM介绍 和字段及字段参数
		
Object Relational Mapping(ORM) ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据 ...
 
随机推荐
- grep命令的or,and,not操作的例子
			
在Linux的grep命令中如何使用OR,AND,NOT操作符呢? 其实,在grep命令中,有OR和NOT操作符的等价选项,但是并没有grep AND这种操作符.不过呢,可以使用patterns来模拟 ...
 - python 对象引用计数增加和减少的情况
			
对象引用计数增加的情况: 1.对象被创建:x=4 2.另外的别人被创建:y=x 3.被作为参数传递给函数:foo(x) ->会增加2 4.作为容器对象的一个元素:a=[1,x,'33'] 对象 ...
 - linux 下查看进程占用端口和端口号占用进程命令
			
linux 下查看进程占用端口:(1)查看程序对应的进程号: ps -ef | grep 进程名字 (2)查看进程号所占用的端口号: netstat -nltp | grep 进程号 ubuntu ...
 - CUDA并行程序设计 开发环境搭建与远程调试
			
课题需要用到GPU加速.目前使用的台式电脑只有核心显卡,而实验室有一台服务器装有NVIDIA GTX980独显.因此,想搭建一个CUDA的开发环境,来实现在台式机上面开发cuda程序,程序在服务器而不 ...
 - P3604 美好的每一天
			
真·美好的每一天(美好个鬼啊) 真·调了一下午 原因是,我之前移动指针时没有先扩再缩,所以导致区间是负的:但是正常来说也没事,可是这题卡常,桶我开的是 unsigned short ,于是区间是负的, ...
 - Optimize Cube.js Performance with Pre-Aggregations
			
转自:https://cube.dev/blog/high-performance-data-analytics-with-cubejs-pre-aggregations/ 可以了解 Pre-Aggr ...
 - C# 跨域 请求带cookie
			
原文:https://blog.csdn.net/z69183787/article/details/78954325 背景: 别个的项目,要开发App接口,要求用前端AJAX的方式访问接口数据. 后 ...
 - 替罪羊树 ------ luogu P3369 【模板】普通平衡树(Treap/SBT)
			
二次联通门 : luogu P3369 [模板]普通平衡树(Treap/SBT) 闲的没事,把各种平衡树都写写 比较比较... 下面是替罪羊树 #include <cstdio> #inc ...
 - pcl-设置多线段宽度和颜色
			
显示点云有使用vtk的,有使用 ros 中riz ?库的,使用pcl显示点云数据比较方便,但是对于一些模型形状只能固定特定的效果,比如说直线段,只能绘制点到点两点之间的线段.但是项目需要绘制点1到点2 ...
 - AtCoder Grand Contest 006 题解
			
传送门 \(A\) 咕咕 const int N=105; char s[N],t[N];int n; inline bool eq(R int k){fp(i,1,k)if(s[n-k+i]!=t[ ...