• ORM模型--数据记录的创建操作,查询操作


    1.数据库表记录的创建

            1.1 通过模型类名(字段1=值1,字段2=值2.。。).save()新增记录

    1.2 通过模型类名.objects.create(字段1=值1,字段2=值2.。。。)新增记录

    2.数据库表记录的查询

            2.1 查询多条数据

                    2.1.1 查询数据库中所有数据

                            qs = 模型类.objects.all(),获取到的是一个查询集queryet对象
                            a).模型类.objects.all(),返回QuerySet对象,查询集

                            b).使用模型类.objects.all(),会将当前模型类对应的数据表中的所有数据读取出来

                            c).QuerySet类似列表,具有惰性查询的特点,在“用”数据时才执行Sql语句

            2.2 查询单条数据

                    2.2.1 模型类.objects.get()

                            这种方法最好使用唯一约束的字段去查询

                            a).如果使用get中的指定条件查询记录数量=0或>1,都会抛出异常

                            b).如果使用get中的指定条件查询记录数量=1,会返回这条记录的模型实例对象,

                                    可以通过 实例对象.字段名 去获取对应字段的值

                    2.2.2 模型类.objects.fillter()

                            a).可以使用模型类.objects.filter(条件1=值1),返回QuerySet对象

                            b).如果使用指定条件查询记录数量=0,返回空的QuerySet对象

                            c).如果使用指定条件查询记录数量>1,将符合条件的模型对象实例包裹到QuerySet

                                    对象中返回

                            d).QuerySet对象,类似列表,有如下特性:

                                    支持通过正整数索引取值

                                    支持切片操作

                                    获取第一个模型对象:QuerySet对象.first()

                                    获取最后一个模型对象:QuerySet对象.last()

                                    获取长度:len(QuerySet对象), QuerySet对象.count()

                                    判断查询集QuerySet对象是否为空:QuerySet对象.exists()

                                    支持列表的迭代操作,for循环等,每次循环返回模型对象实例

     

     

  • 相关阅读:
    puppeteer常规操作代码段
    【To .NET】C#数据模型,从Entity Framework Core到LINQ
    Android 13.0 Launcher3 app图标长按去掉应用信息按钮
    ubuntu20.04 ROS 环境下使用 Flir Blackfly S 工业相机
    java流知识小结
    家庭安全计划 挑战赛| 溺水预防
    Windows 安装 Docker Desktop 到其他盘、迁移虚拟硬盘映像文件、压缩虚拟硬盘映像占用空间
    【自然语言处理】面向新冠肺炎的社会计算应用
    24-25届最新计算机毕业设计大数据选题推荐 -大数据毕业设计题目参考大全
    引用js文件实现汉字转拼音
  • 原文地址:https://blog.csdn.net/qq_40132294/article/details/125627856