当前位置: 首页 > wzjs >正文

汇鑫网站建设便捷网址链接生成器

汇鑫网站建设便捷,网址链接生成器,网页qq直接登录聊天,物联网软件开发平台目录 一、数据的增删改查 1. 用户列表的展示 2. 修改数据的逻辑分析 3. 删除功能的分析 二、如何创建表关系 三、Django的请求生命周期流程图 一、数据的增删改查 1. 用户列表的展示 把数据表中得用户数据都给查询出来展示在页面上 查询数据 def userlist(request):&qu…

目录

一、数据的增删改查

1. 用户列表的展示

2. 修改数据的逻辑分析

3. 删除功能的分析

二、如何创建表关系

三、Django的请求生命周期流程图


一、数据的增删改查

1. 用户列表的展示

把数据表中得用户数据都给查询出来展示在页面上

查询数据

def userlist(request):"""展示用户数据"""# 1、 先查询数据表"""这里不之处负数切片"""# user_list=models.UserInfo.objects.all()[0:2] # 查询所有的数据# user_list=models.UserInfo.objects.first() # 查询所有的数据# select *from userinfo where username ='kevin';# filter:类比where的使用# 只要返回的结果是queryset对象,那么就可以一直点方法下去# user_list=models.UserInfo.objects.filter(username='kevin').first() # 查询所有的数据user_list=models.UserInfo.objects.all() # 查询所有的数据# queryset对象就是一个列表套对象的形式# <QuerySet [<UserInfo: UserInfo object>, <UserInfo: UserInfo object>, <UserInfo: UserInfo object>]># print(user_list[0])# print(user_list[0].username)# print(user_list[0].password)# print(user_list[0].gender)# print(user_list[1].gender)'''支持for循环'''# for i in user_list:#     print(i.gender)return render(request, 'userlist.html', locals())def edit(request):"""先接收id值"""edit_id = request.GET.get('id')"""根据这个id值,再次去表中查询当前这条数据"""# <QuerySet [<UserInfo: kevin>]>edit_obj=models.UserInfo.objects.filter(id=edit_id).first()if request.method == 'POST':hidden_id = request.POST.get('hidden_id')username = request.POST.get('username')password = request.POST.get('password')gender = request.POST.get('gender')

2. 修改数据的逻辑分析

  1. 先确定修改哪条记录------>怎么样确定修改哪条记录?
  2. 通过什么字段可以确定唯一一条记录? 主键id,要携带主键id到后端.
  3. 在后端接收主键id值,然后根据这个id值再去表中查询数据,查询一条
  4. 然后把查询的数据在渲染到页面中,然后在修改
  5. 把修改之后的表单提交到后端,在做修改

数据的修改

    # 第一种方式的修改 affect_rows=models.UserInfo.objects.filter(pk=hidden_id).update(username=username,                 password=password, gender=gender)# print(affect_rows)# 第二种方式的修改edit_obj.username=usernameedit_obj.password=passwordedit_obj.gender=genderedit_obj.save() # 保存数据的# 跳转地址到列表展示也return redirect('/userlist/')
return render(request, 'edit.html', locals())

数据的添加

def delete(request):"""1、还是要接收前端传过来的主键id值"""delete_id = request.GET.get('id')# delete from userinfo where id = 1;# models.UserInfo.objects.filter(pk=delete_id).delete()# user_obj = models.UserInfo.objects.filter(pk=delete_id).first()# user_obj.delete()return redirect('/userlist/')def add(request):if request.method == 'POST':username = request.POST.get('username')password = request.POST.get('password')gender = request.POST.get('gender')"""操作数据量添加数据"""# 返回的是当前记录的对象# user_obj=models.UserInfo.objects.create(username=username, password=password, gender=gender)# print(user_obj) # pyy# print(user_obj.gender)# print(user_obj.pk)"""第二种方式添加"""user_obj = models.UserInfo(username=username,password=password,gender=gender)user_obj.save()return redirect('/userlist/')return render(request, 'add.html')

3. 删除功能的分析

  • 给删除按钮加一个链接,携带当前记录的id值
  • 后端要接收这个主键id值
  • 后端直接执行删除操作

数据的删除

二、如何创建表关系

  • 一对一 
  • 一对多 
  • 多对多
  • 没有关系

以图书管理系统为例

  • 图书表
  • 出版社表
  • 作者表
  • 作者详情表

换位思考判断表关系

  • 图书表和出版社表        >>>      一对多      >>>   图书表是多,出版社是一    >>> 建在多的一方
  • 图书表和作者表            >>>      多对多     >>>   需要第三张表
  • 作者表和作者详情表    >>>       一对一     >>>  外键字段一般建在查询频率较高的

在Django中如何创建表关系

class Book(models.Model):title = models.CharField(max_length=64)"""max_digits=None,:总位数decimal_places=None:小数位数"""# price decimal(8,2)price = models.DecimalField(max_digits=8, decimal_places=2)# publish_id = models.ForeignKey(to='Publish', to_field='id')"""对于外键字段关系,会自动帮我们拼接_id"""publish = models.ForeignKey(to='Publish')"""authors它是一个虚拟字段,它不会实际在表中创建出来这个字段,这一句可以自动帮助我们创建出来第三张表"""authors = models.ManyToManyField(to='Author')
"""出版社表"""
class Publish(models.Model):name = models.CharField(max_length=64)addr = models.CharField(max_length=64)
"""作者表"""
class Author(models.Model):name = models.CharField(max_length=64)author_detail = models.OneToOneField(to='AuthorDetail')
"""作者详情表"""
class AuthorDetail(models.Model):phone = models.CharField(max_length=64)email = models.CharField(max_length=64)

三、Django的请求生命周期流程图

http://www.dtcms.com/wzjs/313552.html

相关文章:

  • 网站建设服务开发长春网站优化服务
  • 凤凰自媒体平台注册seo在线优化工具 si
  • 修车店怎么做网站国外浏览器搜索引擎入口
  • 企业网站建设找智恒网络网络营销七个步骤
  • 做网站是用什么语言的舆情分析
  • 武汉模板建站系统百度网盘网页登录入口
  • 备案上个人网站和企业网站的区别潍坊网站模板建站
  • 营销型网站建设区别广州发布紧急通知
  • 专题活动是在官方网站还是在其他网站做阳泉seo
  • 衡阳网站搜索引擎优化建立网站怎么搞
  • 台州网站如何制作初学seo网站推广需要怎么做
  • 广州网站建设联系电话seo推广的方法
  • 网站怎么做关键词怎么优化seo百度站长工具查询
  • 国内知名建筑设计公司seo外链代发
  • 做电子商务系统网站建设悟空建站seo服务
  • 网站子页怎么做 视频株洲发布最新通告
  • 广州网站建设公seo推广公司招商
  • 中文网站的英文排名app
  • 做鸡尾酒的网站惠州短视频seo
  • 高埗镇网站建设公司总推荐榜总点击榜总排行榜
  • 网站建设 山西百度关键词排名点击
  • 襄阳seo站内优化360站长平台
  • 深圳关键词seo中国seo关键词优化工具
  • 网站开发的意义和目的百度搜索推广平台
  • 笔记本做网站要什么好上海百度推广排名
  • 文明网i中国精神文明建设门户网站赣州seo外包怎么收费
  • php动态网站开发案例教程电子版百度客服
  • 做招商网站seo优化网站网页教学
  • 个人备案的网站竞价排名做不了农产品网络营销方案
  • 网站被惩罚之后怎么做小红书推广引流软件