day65日考
日考题目
"""
今日考题
1.必知必会N条都有哪些,每个都是干啥使的
2.简述神奇的双下划线查询都有哪些方法,作用是什么
3.针对多对多外键字段的增删改查方法有哪些,各有什么特点?
4.什么是正反向的概念,及查询口诀,你能否总结一下正反向查询不同情况下点击不同字段的规律
"""
1.必知必会N条都有哪些,每个都是干啥使的
all() # 全部,返回Queryset对象
filter() # 过滤满足条件的,返回Queryset对象
get() # 直接获得一个,model对象,存在且只有一个,否则报错
first() # Queryset对象中第一对象
last() # Queryset对象中最后一对象
exclude() # 排除
values() # 指定获取的值,列表套字典
values_list() # 同上,列表套元组
order_by() # 排序
reverse() # 反转,需要排序后在使用,否则无效
distinct() # 去重,需要注意排除主键后再去重
exists() # 判断是否存在
count() # 统计个数
2.简述神奇的双下划线查询都有哪些方法,作用是什么
__gt(e)= # 数字的大于等于
__lt(e)=
__in=[] # 数字是否时这些数字中的一个
__range=[]
__contains=''
__icontains='' # 忽略大小写
__(i)startswith
__(i)endswith
__innull=True
__year
__month
__day
3.针对多对多外键字段的增删改查方法有哪些,各有什么特点?
# 增
外键字段.add() # 可以是实际字段的id值也可以是虚拟字段的对象
# 删
外键字段.remove() # 可以是实际字段的id值也可以是虚拟字段的对象
# 改
外键字段.set() # 同上,但set内接受一个可迭代对象,列表或元组,是重置的意思
4.什么是正反向的概念,及查询口诀,你能否总结一下正反向查询不同情况下点击不同字段的规律
正向查询:外键在我表中,我查询你
反向查询:外键不在我表中,我查询你
"""
正向查询按字段
查询结果有多个.all()
查询结果只有一个不需要加all
反向查询按表名的小写:
查询结果由多个__set.all()
查询结果只有一个不需要加__set.all()
"""
# 双下划线联表查询
# 正向查询按字段,values()里面使用 字段__跨表
# 反向查询按表名小写, 不仅values()里面可以,filter()里面也可以使用双下划线跨表