栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

ORM对数据库的增删改查

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

ORM对数据库的增删改查

向表中增加数据:

class AddStudent(View):
    def post(self,request):
        name = request.POST.get('name')
        height = request.POST.get('height')
        face = request.POST.get('face')
        teacher = request.POST.get('teacher')
        try:
            Student.objects.create(
                stu_name=name,
                height=height,
                face=face,
                teacher_id=teacher
            )
        except Exception as e:
            print(e)
            return HttpResponse("添加失败")
        return redirect('/tall/')

删除数据:

class Delete(View):
    # 根据学生id删除学生信息:
    def get(self,request,id):
        #方案1:重定向老师页面
        # Student.objects.filter(id=id).delete()
        # return redirect('/tall/') #重定到老师页面

#         方案2:重定向学生页面
        stu = Student.objects.get(id=id)
        tea_id = stu.teacher_id  #获取老师id
        stu.delete() #删除数据
        return redirect(f'/stu/{tea_id}/')

修改数据:

class Update(View):
    # 展示要更新的学生信息:
    def get(self,request,id):
        data = Student.objects.get(id=id)
        return render(request,'index.html',{'i':data})

#     根据id修改学生信息:
    def post(self,request,id):
        name = request.POST.get('name')
        height = request.POST.get('height')
        face = request.POST.get('face')
        teacher = request.POST.get('teacher')

        try:
            Student.objects.filter(id=id).update(
                stu_name=name,
                height=height,
                face=face,
                teacher_id=teacher
            )
        except Exception as e:
            print(e)
            return HttpResponse("修改失败")
        return redirect('/tall/')

查找数据:

class Select(View):
    def get(self,request):
        name = request.GET.get('name')
        try:
            data = Student.objects.get(stu_name__contains=name)
        except Exception as e:
            print(e)
            return HttpResponse("数据不存在")
        return HttpResponse(f'查找到的数据为{data.stu_name},{data.height},{data.face},{data.teacher}')

​ book = models.ForeignKey(BookInfo, on_delete=models.CASCADE, verbose_name=‘图书’) # 外键

# 跳转数据
class StudentView(View):
    # 根据老师id展示对应的学生的信息
    def get(self,request,id):
        data = Student.objects.filter(teacher_id=id)
        return render(request,'student.html',{'i':data})
    path('tall/',views.Tall.as_view()),
    # 动态路由,参数id为老师id,根据老师id展示对应的学生
    path('stu//',views.StudentView.as_view()),
#     动态路由:参数id为学生id,根据学生id删除对应的学生
    path('del//',views.Delete.as_view()),
#     静态路由:添加学生信息:
    path('add/',views.AddStudent.as_view()),
#     动态路由,根据学生id动态更新学生信息:
    path('update//',views.Update.as_view()),

    # 静态路由,根据学生姓名,搜索学生信息:
    path('select/',views.Select.as_view())
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/932073.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号