django增删改查

重点先来说一下查

查询到一个结果集合
直接使用Student.objects.get(pk=1).name就可以获取到模板的值

  1. filter() 得到符合要求的

    # __gt大于__lt小于 __gte小于等于
    Student.objects.filter(chinese__gt=80)
    Student.objects.filter(chinese__lt=70)
    Student.objects.filter(chinese__lt=80, math__gt=75)
    # in
    Student.objects.filter(chinese__in=[80,85])
    # 模糊查询startswith,endswith,contains
    Student.objects.filter(name__startswith="w")
    # 聚合函数的使用aggregate ,Max(),Min(),Sum(),Count(),Avg() 需要导包使用alt+enter
    Student.objects.aggregate(Max("chinese"))# 获取语文最高分
    #order_by()可以对查询的结果集进行排序
    Student.objects.order_by("chinese")# 从小到大
    Student.objects.all().order_by("-chinese")# 从大到小
    # [:]切片
    Student.objects.all()[1:2] # 只显示第二条数据
    # Q函数和F函数  需要导入包
    # 查看语文成绩小于60或者大于80的 &  |  ~ 与或非
    Student.objects.filter(Q(chinese__gt=80) | Q(chinese__tl=60))
    # F函数 可以比较自身的属性,查找到语文成绩大于数学的人
    Student.objects.filter(chinese__gt=F("math"))
    
  2. exculde() 去掉符合要求的 和filter相反没什么好讲的

  3. all()得到所有

     Student.objects.all()得到所有数据
    
  4. count() 得到总的数据条数 ,也可以用来查询结果集的条数

     Student.objects.count()
     Student.objects.all().count()
    

  1. 使用save()

     stu = Student()
     stu.name="lmz"
     stu.sex="boy"
     stu.save() # 保存到数据库
    
  2. 使用create()
    Student.objects.create(name=“lmz”,sex=“boy”)
    这句话直接保存到了数据库

  1. 使用delete()可以删除单条数据也可以删除一个结果集合

     Student.objects.all().delete() # 删除了所有的数据
     Student.objects.get(pk=1).delete()# 删除了单挑数据
    

  1. 使用update()可以修改一个结果集合

     # 将语文成绩大于八十的同学数学成绩都更新为60分
     Student.objects.filter(chinese__gt=80).update(math=60)
    
  2. 使用save() 一次只能修改一条数据

     # 使用save()只能修改一条数据
     stu = Student.objects.get(pk=1)
     stu.math=60
     stu.save()
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值