美文网首页
day42-Django

day42-Django

作者: 七一欧 | 来源:发表于2018-09-11 23:40 被阅读0次

    day2_init_.py

    import pymysql
    
    pymysql.install_as_MySQLdb()
    这是pymysql的驱动
    

    数据的增删改查
    1、数据的写入

    • 第一种方式
    Student.objects.create(s_name='大红')
    
    • 第二种方式
    stu = Student()
    stu.s_name = '小龙'
    stu.save()
    
    • 第三种方式
    stu = Student('小花', 18, 1)
    stu.save()
    

    2、数据的查找

    • all:所有信息
    stus = Student.objects.all()
    

    filter:获取的结果为queryset。可以返回空或者一条或多条数据

    stus = Student.objects.filter(s_name='小花')
    
    • 多条件查询
       stus = Student.objects.filter(s_age=19).filter(s_name='小花')
        stus = Student.objects.filter(s_age=19,s_name='小花')
    
    • 查询姓名不等于小花的学生信息
     stus = Student.objects.exclude(s_name='小花')
    
    • 排序,按照id升序\降序===>asc/desc
      stus = Student.objects.all.order_by('id')
     print(stus)
     stus = Student.objects.all.order_by('-id')
     stus = Student.Objects.all().values('id', 's_name', 's_age')
    

    模糊搜索\

    • 包含花
      stus = Student.objects.filter(s_name__contains='花')
    
    • 以花开头
     stus = Student.objects.filter(s_name__startswith='花')
    
    • 以花结尾
     stus = Student.objects.filter(s_name__endswith='花')
    
    • in
    stus = Student.objects.filter(id_in=[1,2,3])
    
    • gt 大于 gte 大于等于 lt 小于 lte 小于等于
    stus= Student.objects.filter(s_age__gt=18)
    
    • pk
    stus = Student.objects.filter(id=1)
    stus = Student.objects.filter(pk=1)
    
    • Q() 姓名叫小花,或者年龄等于18
    stus = Student.objects.filter(Q(s_name='小花')| Q(s_age=18))
    

    3、删除

    • 第一种
    stu = Student.objects.get(pk=5)
    stu.delete()
    
    • 第二种
    Student.objects.filter(id=2).first.delete()
    

    4、修改

    • 第一种
        stu = Student.objects.get(pk=1)
        stu.s_name = '帅哥'
        stu.save()
    
    • 第二种
        Student.objects.filter(id=1).update(s_name='嘻嘻')
        return HttpResponse('修改')
    

    相关文章

      网友评论

          本文标题:day42-Django

          本文链接:https://www.haomeiwen.com/subject/fenugftx.html