千家信息网

怎么用Django框架中的ORM系统对数据库数据进行增删改查

发表于:2024-09-21 作者:千家信息网编辑
千家信息网最后更新 2024年09月21日,这篇文章主要讲解了"怎么用Django框架中的ORM系统对数据库数据进行增删改查",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"怎么用Django框架中
千家信息网最后更新 2024年09月21日怎么用Django框架中的ORM系统对数据库数据进行增删改查

这篇文章主要讲解了"怎么用Django框架中的ORM系统对数据库数据进行增删改查",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"怎么用Django框架中的ORM系统对数据库数据进行增删改查"吧!

目录
  • 1.数据的增删改查----------增加数据

    • 在视图函数中导入User模型类,然后使用下面的方法添加数据:

  • 2.数据的增删改查----------查找数据

    • 这时在定义模型类时定义的__str__()方法的作用就表现了出来

    • User模型类导入

  • 3.数据的增删改查----------删除数据

    • 4.数据的增删改查----------修改数据

      1.数据的增删改查----------增加数据

      在视图函数中导入User模型类,然后使用下面的方法添加数据:

      from django.http import HttpResponsefrom .models import User# Create your views here.def add_user(request):    #方法一    taka = User(name='taka',age=18)    taka.save()    #方法二    xiaopo = User()    xiaopo.name = 'xiaopo'    xiaopo.age = 18    xiaopo.save()    #方法三    aa = User.objects.get_or_create(name='xiaohong',age=18)  #插入前会进行查找,如果没有相同的数据就会添加;如果有就不会。    print(aa)       #会返回一个元组,第一个数据是添加成功的实例;第二个数据是True或False。(添加成功为True;反之为False)    # 此处打印结果:   (, True)    # 插入前会进行查找,如果没有相同的数据就会添加;如果有就不会。   因为上面插入了相同数据,所以此处不会插入数据。    User.objects.get_or_create(name='xiaohong',age=18)      return HttpResponse("插入数据成功!")

      实现效果:
      (注意:分配一下路由,要访问到此视图才会执行!)

      2.数据的增删改查----------查找数据

      这时在定义模型类时定义的__str__()方法的作用就表现了出来

      控制查询的数据显示的格式(即显示模型的简单表示)

      from django.db import models# Create your models here.class User(models.Model):    id = models.AutoField(primary_key=True)       #主键可以省略,Django默认会为我们加上一个名为id的主键,写的话就可以改主键的名字!    name = models.CharField(max_length=50)        # CharField--字符串    age = models.IntegerField()                   # IntegerField--整数    def __str__(self):        """        返回模型的字符串表示        我们告诉Django,默认应使用哪个属性来显示有关此模型的信息        Django调用方法__str__()来显示模型的简单表示        """        return "name:%s, age:%s" %(self.name,self.age)

      进行查询:

      User模型类导入

      from django.http import HttpResponsefrom .models import Userdef search_user(request):    #查询所有记录对象    rs1 = User.objects.all()    print("这是所有记录对象:",rs1)                        #通过观察,可以发现查询到的记录对象的输出方式就是模型中的__str__的格式.    # 同时这个查询结果rs1是个queryset对象,是一个类似于列表的对象。具备列表里的一些常用方法,比如:切片[0:3],下标取值rs1[1]...但是下标取值的话不支持反向取值。    #查询一个记录对象    rs2 = User.objects.get(name="xiaopo")  # 此方法查询,如果不存在/存在多条都会报错!  所以一般通过id值。    print("这是一个记录对象:",rs2)    #查询满足条件的对象    rs3 = User.objects.filter(name='xiaoming')  # 取不到则为空;多条的话都可以取到    print("这是满足条件的对象:",rs3)    return HttpResponse("查询数据成功!")

      注意:
      1.all()和filter()方法返回的是QuerySet对象,查询不到则为空(但咋样都不会报错,就很牛!)。
      2.get()方式返回的单个对象,如果符合条件的对象有多个,则get报错!而且如果查询不到也会报错!

      实现效果:

      3.拓展--关于QuerySet简单整两句:

      从数据库中查询出来的结果一般是一个集合,这个集合叫做 QuerySet(是一个类似于列表的对象,具备列表里的一些常用方法,比如:切片[0:3],下标取值rs1[1]…但是下标取值的话不支持反向取值).QuerySet是可迭代对象.QuerySet支持切片, 不支持负索引.可以用list强行将QuerySet变成列表.

      3.数据的增删改查----------删除数据

      from django.http import HttpResponsefrom .models import Userdef delete_user(request):    #实例和QuerySet对象都具备删除方法!        User.objects.get(id=1).delete()                         #get方法得到的是单个对象(一个实例对象),所以是删除一条数据!        User.objects.filter(age=18).delete()            #删除所有age属性值为18的数据!        User.objects.all().delete()                                     #删除所有数据!        s = User.objects.filter(age=18)    s[1].delete()                                                           #删除age值为18的数据中指定的一条        return HttpResponse("删除数据成功!")

      4.数据的增删改查----------修改数据

      from django.http import HttpResponsefrom .models import Userdef update_user(request):    #第一种方法:先查找到数据,然后再进行属性赋值修改(对于实例的修改)    rs = User.objects.get(name="xiaoming")              #修改name属性值为xiaoming的name属性值为xiaowang(因为使用了get方法所以仅修改第一条!)    rs.name='xiaowang'    rs.save()        #第二种方法:使用update方法直接修改(对于集合的修改,只能用于QuerySet对象)    User.objects.filter(name='xiaowang').update(name='AAA') #修改所有name属性值为xiaowang的name属性值为AAA!        User.objects.all().update(age=22)                       #修改所有数据的age属性值为22!        return HttpResponse("修改数据成功!")

      感谢各位的阅读,以上就是"怎么用Django框架中的ORM系统对数据库数据进行增删改查"的内容了,经过本文的学习后,相信大家对怎么用Django框架中的ORM系统对数据库数据进行增删改查这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

      数据 对象 方法 查询 模型 属性 成功 数据库 框架 系统 下标 实例 支持 相同 条件 结果 视图 这是 学习 作用 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 区块链技术 数据库 采木工业互联网科技有限公司 软件开发一天赚200难吗 服务器判断用户使用流量 网络安全红利政策 小程序实现数据库增删改查 一个数据库表有一亿条数据 业务员用什么软件开发客户 禄劝软件开发市场报价 如何在数据库的表中的列添加数据 学校cmcc服务器登录失败 数据库范式化简例题 云服务器虚拟化管理 网络安全管理员英语作文 怎么用数据库修改魔兽世界装备 关于软件开发的图标 软件开发公司文件安全方案 软件开发与软件设计工程师哪个好 网络安全漏洞检测包括端口扫描 美篇软件开发是谁 电脑和服务器的使用年限 简易付网络技术 部队网络安全集中治理 云服务器会限制流量吗 怎么用数据库修改魔兽世界装备 jira数据库报错 安徽中品网络技术地址 软件开发后的培训 星驿付云音响服务器连接失败 科技 互联网 人工智能
      0