django中数据库的增删改查

第一部分:

增:
    save
        实例名 = 模型类( 字段=值,字段=值,...)
            需要 通过 实例名.save()         
    create
        实例名 = 模型类.objects.create(字段=值,字段=值) 
            自动保存                    
删:
    实例名.delete()        
    模型类.objects.filter(pk=1).delete()          
改:
    save
        实例名.字段 = 值
            实例名.save()                
    update
        模型类.objects.filter(pk=1).update(字段=值,字段=值)             
查:
    1. 查询方法
        get 
            获取单个数据
                如果不存在会抛出模型类.DoesNotExist异常 
        all
            获取所有数据
        count
            获取个数
        相关查询总结
            包含查询:contains
            结尾查询:  __endswith=
            为空的查询: BookInfo.objects.filter(name__isnull=True)
            编号查询: __in=   元组,字典,列表均可
            编号大于与小于
                    大于:gt            小于:lt         大于等于:gte          小于等于:lte
    2.筛选
        filter
            Bookinfo.objects.filter(字段名__运算符=值)
                1.filter过滤出多个结果(包含0个,1个,多个)
                2.查询结果将返回一个列表     
            and查询
                filter().fiter()
                filter(条件,条件,...)
            exclude
            排除掉符合条件的剩下的结果            
    3.F和Q
        F:两个字段进行比较
                filter(字段名__运算符=F('字段名'))
                    from django.db.model import F              
        Q: or
                filter(Q(字段名__运算符=值)|Q(字段名__运算符=值))         
            not
                filter(~Q(字段名__运算符=值))
                    让Q浪起来
    4聚合函数
        aggregate(Xxx('字段'))
            from django.db.model import Xxx
            字段名__聚合函数
    5.排序
        order_by
            默认是升序   
        order_by('-字段')
            降序         
        order_by('字段1','字段2,...)
    6.关联查询
        基本关联查询
            一对多:
                实例名. 反向查询的模型类名小写_set.all()   
            多对一:
                外键名.字段
        筛选关联查询
            一对多
                filter(模型类名小写__字段名__运算符=值)         
            多对一
                filter(外键名__字段名__运算符=值)
    7.limit
        查询结果集[:]
            当调用如下过滤器方法时,Django会返回查询集(而不是简单的列表)
                all():返回所有数据。
                filter():返回满足条件的数据。
                exclude():返回满足条件之外的数据。
                order_by():对结果进行排序。
            两大特性
                1)惰性执行
                    创建查询集不会访问数据库,直到调用数据时,才会访问数据库
                2)缓存
                    使用同一个查询集,第一次使用时会发生数据库的查询,然后Django会把结果缓存下来,再次使用这个查询集时会使用缓存的数据,减少了数据库的查询次数
                    将数据放到一个地方,我们在使用的时候 直接到哪个地方获取就可以了
            限制查询集
                对查询集进行取下标或切片
                注意点
                    不支持负数索引
    8.管理器Manager
        定义
            Django的模型进行数据库操作的接口
        默认的objects
            是models.Manager类的对象
        自定义管理器
            一旦为模型类指明自定义的管理器后,Django不再生成默认管理对象objects
            使用步骤
                1.在models中自定义管理器
                    
                2.在models中创建query对象
                    
                3.在视图函数中调用
                    

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值