$Django orm增删改字段、建表 ,单表增删改查,Django请求生命周期

时间:2021-08-31 08:30:50
1 orm介绍
  ORM是什么
   ORM 是 python编程语言后端web框架 Django的核心思想,“Object Relational Mapping”,即对象-关系映射,简称ORM。  一个句话理解就是:创建一个实例对象,用创建它的类名当做数据表名,用创建它的类属性对应数据表的字段,当对这个实例对象操作时,能够对应MySQL语句
   1 tools--->Run manage.py Task
    python3 manage.py makemigrations
    只需要敲命令:makemigrations(记录数据库的修改记录)
    python3 manage.py migrate
    只需要敲命令:migrate(把数据同步到数据库)
 2 orm能干和不能干的事
  1 能创建数据表,新增,删除字段
  2 不能创建数据库
 3 orm增加字段:(注意数据库迁移命令2条)
  注意:后来增加的字段,需要有默认值
  phone=models.CharField(max_length=64,default='120')
 4 orm删除字段
   注释掉字段,执行数据库迁移命令2条
 5 orm修改字段
   直接修改字段,执行数据库迁移命令2条
 6 user单表的数据增删改查
  ***重点****:
  1 单表查询所有用户: models.User.objects.all()
   得到的是 queryset对象(当成列表), 列表里面,一个一个的对象[user1,user2]
  2 render(request, 'userlist.html', {'user_list': ret})
  3 模板里:   {% for user in user_list %}
      #要循环的内容 
       {{user.name}}
      {% endfor%}
  4 get请求携带参数:
   http://127.0.0.1:8000/deleteuser/ ?id=1&c=1
   后台取值:request.GET.get('id')
     request.GET['id']
  5 orm删除记录 models.User.objects.filter(id=id).delete()
   返回值:影响的行数
  6 前台post提交的数据取值:name=request.POST.get('name')
  7 orm保存:
   两种方式:
   1 user= models.User.objects.create(name=name,password=pwd,address=addr)
   2 user= models.User(name=name,password=pwd,address=addr)
     user.save()
  8 orm查询单条数据:user= models.User.objects.filter(id=id).first()
  9 orm的修改 models.User.objects.filter(id=id). update (name=name,password=pwd,address=addr)
  
 7 django的请求生命周期
 Django的请求生命周期是指当用户在浏览器上 输入url到用户看到网页 的这个时间段内,Django后台所发生的事情
 而Django的生命周期内到底发生了什么呢??
 1. 当用户在浏览器中输入url时,浏览器会生成请求头和请求体发给服务端
 请求头和请求体中会包含浏览器的动作(action),这个动作通常为get或者post,体现在url之中.
 2. url经过Django中的wsgi,再经过Django的中间件,最后url到过路由映射表,在路由中一条一条进行匹配,
 一旦其中一条匹配成功就执行对应的视图函数,后面的路由就不再继续匹配了.
 3.视图函数根据客户端的请求查询相应的数据.返回给Django,然后Django把客户端想要的数据做为一个字符串返回给客户端.
 4. 客户端浏览器接收到返回的数据,经过渲染后显示给用户.
$Django orm增删改字段、建表 ,单表增删改查,Django请求生命周期