Django后台ORM的增删改查的简单使用

本文详细介绍了在Django中如何使用模型和管理器进行数据的增删查改操作,包括通过对象实例和管理器方法进行数据操作,并提供了丰富的代码示例。此外,还提及了条件查询、排序和过滤等查询技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、打开创建好的项目。在项目Terminal打开local框

二、输入python manage.py shell命令行管理工具来打开  (这样显示就是对的)

 三、导入类模型。输入命令from app名.models import 类模型  (from a1.models import Major,Student)此处什么都不显示,则为正确的,继续操作(记得提前在数据库里添加好数据才能实现操作)

 

 四、增:添加数据

  • 利用模型类创建对象来进行增加

     语法
     对象名 = 模型类(字段=值)  需要自己手动保存
     对象名.save()
  • 利用模型类管理器增加数据

     模型类.objects.create(字段=值...)

例子:Student.objects.create(name='李五',classes='B班',age=21,score=99,major_id=2)

此处使用模型类管理器增加数据,另一种方法,此处就不举例子了,下面的删改查也是如此

 

 五、删

  • 利用模型类创建对象进行删除

     对象名 = 模型类.objects.get(条件)
     对象名.delete()
  • 利用模型类管理器删除数据

     模型类.objects.get、filter(条件).delete()
     删除不存在的数据会报错
    例子:Student.objects.filter(id=3).delete()

 

六、改

  • 利用模型类创建对象进行修改

     对象名 = 模型类.objects.get(条件)
     对象名.字段 = 值
     对象名.save()  # 保存修改的信息
  • 利用模型类管理器修改数据

     模型类.objects.filter(条件).update()
  • 例子:Student.objects.filter(name='李四').update(score=0)

 

 七、查

  • all()

     模型类.objects.all()  查询全部数据
  • get()

     模型类.objects.get(条件)   get:只能获取单条数据,如果查询的结果超过1条数据,报错
  • filter()

     模型类.objects.filter(条件)  filter:查询得到的是一个结果集 可以查询多条数据,单条数据
  • exclude()

     模型类.objects.exclude(条件)  exclude:查询和条件相反的数据(不满足条件的数据)
  • 例子:Student.objects.filter(score__lt=100)

 

 查的知识点补充:(供参考使用,不作演示)

    • 条件查询

      1. 等值查询 =

      2. 查询id大于2的数据 gt

         Register.objects.filter(id__gt=2)
         模型类.objects.filter(字段__gt=值)
      3. 查询id小于3的数据 lt

         Register.objects.filter(id__lt=3)
         模型类.objects.filter(字段__lt=值)
      4. 查询id大于等于3的数据 gte

      5. 小于等于 lte

      6. 查询名字为张三的个数 统计个数count

         Register.objects.filter(name="张三").count()
         模型类.objects.filter(条件).count()
      7. 按照id降序进行排序 order_by

         模型类.objects.all().order_by("字段")  升序
         模型类.objects.all().order_by("-字段") 降序
         可以写all()也可以不写
      8. 查询名字以张开始的

         Register.objects.filter(name__startswith="张")
         模型类.objects.filter(字段__startswith="值")

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值