2020/10/30:父子组件和ORM基本操作

2020/10/30:父子组件和ORM操作

父子组件的调用:

  • import导入子组件
  • compants注册子组件
  • 注册过的子组件当做标签来使用

子组件给父组件传参:

  • 父组件的子组件标签里写上要传的数据(:子组件的参数名=父组件的参数名)
  • 在子组件注册(props)
  • 使用父组件传过来的参数

父组件给子组件传参:

  • 子组件先用给定的方法把数据传递给父组件(this.$emit(“要发送的函数名”,“要传递的参数”))
  • 父组件的子标签里来接收数据(@子组件的方法=“父组件的方法”)
  • 在methods里接收传过来的val并赋值

父组件里都是子组件方法在前父组件方法在后

ORM操作数据库查询:

  • 基本查询:

book_obj = BookModel.objects.get(title="西游记")  # 单一查询,如果结果不存在报错
book_obj = BookModel.objects.filter(title="西游记")  # 单一查询,如果结果不存在返回为空
book_obj = BookModel.objects.all(title="西游记")  # 查询所有,有多少返回多少,不存在返回None
book_obj = BookModel.objects.count(title="西游记")  # 返回查询结果的数量
book_obj = BookModel.objects.exclude(title="西游记")  # 返回除满足条件以外的
  • 模糊查询:

"""
a.contains  包含
"""
book_obj = BookModel.objects.filter(title__contains="记")  # 查询结果包含“记”的
"""
b.startswith  以什么开头
c.endswith  以什么结尾
"""
book_obj = BookModel.objects.filter(title__startswith="西")  # 查询以“西”开头的
book_obj = BookModel.objects.filter(title__endswith="记")  # 查询以“记”结尾的
  • 空查询:

"""
isnull  是否为空
"""
book_obj = BookModel.objects.filter(title__isnull=Flase)  # 查询title不为空的,=True是为空
  • 范围查询:

"""
in  满足...
range 相当于between...and...
"""
book_obj = BookModel.objects.filter(id__in=[1,3,5,7,9])  # 查询ID为1、3、5、7、9的id
book_obj = BookModel.objects.filter(id__range=[10,20])  # 查询范围在10-20的id
  • 比较查询:

"""
gt  大于  >
gte  大于等于  >=
lt  小于  <
lte  小于等于  <=
exclude  不等于  !=
"""
book_obj = BookModel.objects.filter(id__gt=10)  # 查询ID大于10的数据
book_obj = BookModel.objects.exclude(id=10)  # 查询ID不等于10的数据
  • 日期查询:

# year,month,day,week_day,hour,minute,second:对日期时间类型的属性进行计算
book_obj = BookModel.objects.filter(pub_date__year=1997)  # 查询1997年出版的书
book_obj = BookModel.objects.filter(pub_date__get=date(1997.1.1))  # 查询1997年1月1日以后出版的书
  • F对象和Q对象:

"""
比较两个对象之间的关系用F对象(F对象可以进行运算)
"""
book_obj = BookModle.objects.filter(read__gte=F("comment"))  # 查询阅读量等于评论量的对象
book_obj = BookModle.objects.filter(read__get=F("comment") * 2)  # 查询阅读量等于评论量二倍的对象
"""
与逻辑运算符连用使用Q对象。 或(|)、与(&)、非(~)
"""
book_obj = BookModle.objects.filter(Q(read__get=20) | Q(pk__lt=3))  # 查询阅读量为20或者id小于3的对象
  • 聚合函数:

"""
使用aggregate()过滤器调用聚合函数;聚合函数包括:Avg平均,Count数量,Max最大,Min最小,Sum求和
"""
book_obj = BookModle.objects.aggregate(Sum("read"))  # 返回阅读量的和
  • 排序:

"""
使用order_by对结果进行排序
"""
book_obj = BookModle.objects.all().order_by("read")  # 按阅读量进行升序排序
book_obj = BookModle.objects.all().order_by("read")  # 按阅读量进行降序排序
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值