ORM字段 以及单表操作

ORM操作

字段类型

CharField   varchar类型,需要指定长度
IntegerField     整形
DecimalField     浮点型  需要指定最大长度和小数点位数
DateField      日期   datetime
ForeignKey    做外键
	# to 设置关联表
	# to_field 关联表要关联的键名,默认为关联表中的id,可以不写
	# on_delete 当删除关联表中的数据的时候,从表做什么行为,
		# CASCADE  当关联表中数据删除的时候,外键所在表中的数据也会被删除
		# SET_NULL  当关联表中数据删除的时候,外键所在表中的外键设置为空
		# SET_DEFAULT  当关联表中数据删除的时候,外键所在表中的外键设置一个默认值
		# PROTECT 关联保护,当关联表的数据被删除的时候,报异常,
		# DO_NOTHING  当关联表中数据删除的时候,外键所在的表不做任何事情

字段属性

max_length 最大长度
verbose_name  备注,站点管理中用于显示字段为中文
max_digits   浮点型最大长度
decimal_places  小数点位数
auto_now = True 获取的是当前时间
null = True    可为空,默认是不为空

元数据

db_table 修改表的名字
verbose_name  备注,站点管理中用于显示模型名字为中文,会出现s
verbose_name_plural  显示复数名称
ordering= ['-age']  指定排序

ORM的操作

单表操作

增加
save 方法
在这里插入图片描述
create方法
在这里插入图片描述

查询

all

返回一个queryset  一个列表
返回符合条件的所有数据

在这里插入图片描述

get方法

返回是一个对象
返回结果有且有一条,get后面的条件常用主键

在这里插入图片描述

filter方法,类似于sql中的where

返回值:queryset
使用遍历或者下标提取属性的值

在这里插入图片描述

order by

在这里插入图片描述

exclude()

返回一个quertset,查询集,包含了跟给定条件不符合的所有数据

在这里插入图片描述

Queryset

查询集,不是python列表,也叫结果集,表示从数据库中获取的一个对象集合

使用如下的方法的时候返回:

  • all()
  • filter()
  • order_by()
  • exclude()
  • values 特殊的queryset
  • 切片

特性:

  • 惰性
    • 创建好查询集之后不会立即执行,在使用的时候才会进行数据的查询,
  • 缓存
    • 使用一个查询集,第一次使用进行查询,然后将数据进行缓存,之后再使用该查询集不会再次发起查询,而是将查询到的结果缓存了下来

使用如下方法返回对象

  • get
  • first()
  • last()
    在这里插入图片描述

双下划线查询

在这里插入图片描述

修改

在这里插入图片描述

删除

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值