• Django笔记05


    单表操作

    新增数据
    models.类名.objects.create()
    models.类名().save()
    修改
    models.类名.objects.filter(条件).update()
    obj = models.类名.objects.filter(条件)
    obj.属性 = 值
    obj.save()
    删除
    models.类名.objects.filter().delete()
    查询
    all()  查询所有结果
    filter  查询符合条件的数据
    get  返回一个符合条件的数据
    exclude  返回不匹配的数据
    order_by  排序
    reverse  对查询结果反向排序
    count   计数
    first  返回第一条数据
    last  返回最后一条数据
    exists  判断
    values  返回queryset对象里面是字典
    values_list  返回queryset对象里面是元组
    dstinct  去重

    返回queryset对象的方法
      all  filter  exclude  order_by  reverse  distinct
    特殊的queryset
      values  values_list
    返回具体对象
      get  first  last

    基于双下划线模糊查询
    in  值是否在一个列表中
    gt  大于
    lt  小于
    gte  大于等于
    lte  小于等于
    range  值是否在一个范围内
    contains 
    icontains  
    startswith
    pub_date_year  按年查询
    https://www.cnblogs.com/liuqingzheng/articles/9472723.html

    多表关联

    创建多表模型

      使用OneToOneField和ForeignKey模型表的字段后面会自动增加_id

      ManyToManyField:会自动创建第三张表

      一对一的关系:OneToOneField

      一对多的关系:ForeignKey

      多对多的关系:ManyToManyField

    添加表记录

      多对多

      add 添加记录  可以传入对象,id

      remove 删除记录  可以传入对象,id

      clear 清空记录  没有参数

      set 更新记录  传入列表

    基于对象的跨表查询

      一对一:正向:按字段  反向:按表名小写

      一对多:正向:按字段  反向:按表名小写_set.all()

      多对多:正向:按字段  反向:按表名小写_set.all()

      基于对象的查询是多次查询(子查询)

    基于双下划线的跨表查询

      正向按字段,反向按表名小写

    聚合查询

      from django.db.models import Avg,Sum,Max,Min,Count

      models.类名.objects.all().aggregate(聚合函数)

    分组查询

      from django.db.models import Avg,Sum,Max,Min,Count

      models.类名.objects.annotate(别名=聚合函数)

    F查询:查询的条件作用两边都来自于数据库而非手动输入的值

    Q查询:能够将filter内部默认的and关系转换成需要的

    https://www.cnblogs.com/liuqingzheng/articles/9499252.html

  • 相关阅读:
    每天干的啥?(2017.7)
    每天干的啥?(2017.6)
    每天干的啥?(2017.5)
    每天干的啥?(2017.4)
    C# WinForm中如何让当前应用程序只允许启动一个实例
    C# WinForm 关闭登陆窗体后进程还再内存怎么办?
    ASP.NET在MVC控制器中获取Form表单值的方法
    C#封装CRUD到SqlHelper类解读
    windows 10微软账户不能访问局域网共享,但是本地账户可以访问
    C#高级参数params的使用
  • 原文地址:https://www.cnblogs.com/LinChengcheng/p/10725455.html
Copyright © 2020-2023  润新知