zoukankan      html  css  js  c++  java
  • 双下划线多表查询

    1基于双下划线的跨表查询
    套路一样,用__跨表
    -一对多
    -多对多
    2 聚合查询
    -聚合函数
    from django.db.models import Avg,Count,Max,Min,Sum
    # 计算所有图书的平均价格
    # ret=Book.objects.all().aggregate(Avg('price'))
    # print(ret)


    3分组查询
    终极总结:
    values在前,表示group by,在后,表示取值
    filter在前,表示过滤(where),在后,表示having(对分组之后的结果再进行过滤)
    4 F查询与Q查询

    -F为了字段=后面的值,不能放字段,所以用F函数包裹一下就可以了
    -Q为了构造与&,或|,非~的关系

    5 常用字段:必须记住,非常用字段,了解即可
    6 orm字段参数:
    -null 可以为空
    -unique 唯一性约束
    -default 默认值
    -db_index 为该字段建索引
    -只给日期类型和时间类型用
    -auto_now_add 新增数据时,默认把当前时间存入
    -auto_now 修改的时候,默认把当前时间存入
    7 关系字段
    ForeignKey
    -to 关联哪个表
    -to_field 关联的字段
    -related_name 反向操作时,使用的字段名,用于代替原反向查询时的'表名_set'。(一般不要用)
    -related_query_name :基于双下划线的反向查询之前按表名小写(一般不要用)
    -on_delete:models.CASCADE,models.SET_NULL
    -db_constraint:db_constraint=False代表,不做外键关联

  • 相关阅读:
    迭代器在LinkedList上的删除
    java多线程:CopyOnWriteArrayList
    vs中代码编译通过,但还是有红色波浪线
    vs中项目属性配置
    TortoiseGit安装与配置
    DC(device context)
    weak_ptr 使用
    C++ 中shared_ptr循环引用计数问题
    for_each与lambda表达式联合使用
    new 和 make_shared 在内存上的区别
  • 原文地址:https://www.cnblogs.com/fushaunglin/p/9961291.html
Copyright © 2011-2022 走看看