day42-Django

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)