zoukankan      html  css  js  c++  java
  • 多表操作

    基于对象的夸表查询(多次查询)

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

      一对多:正向按字段(正向查询一定会查出一个来),反向查询按表名小写_set.all()(放回结果是queryset对象)

      多对多:正向查询按字段.all()(正向查询一定会查出多个来),反向查询按表名小写_set.all()(返回结果是quertset对象)

      基于双下划线的跨表查询

        在filter和values中都可以做连表操作(也就是都可以写__)

        正向查询按字段

        反向查询按表名小写

    以上查询无论谁做基表,都没有效率之分,本质上是一条sql语句将多个表拼成一起再查询

    related_name:基于双下划线的跨表查询,修改反向查询的字段,related_query_name:基于对象的跨表查询,修改反向查询字段,可以理解为字段重命名

    聚合查询:

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

    分组查询: 以annotate()为分界线

      group by 谁,就以谁做基表
      values在前:表示group by
      values在后:取值
      filter在前:表示where条件
      filter在后: 表示having

    F与Q查询:

      F查询:取出数据库中的值进行运算

      Q查询:表示或,非的情况

  • 相关阅读:
    https 适配
    SDWebImage 的简单使用方法
    第三方API使用的好习惯
    关于IPicture::Render函数
    标准模板库(STL)MAP容器使用详解
    STL容器
    c++ 遍历map的时候删除元素
    C++的try_catch异常
    Makefile 自动生成头文件的依赖关系 .
    调试过程中,内存泄露检测信息
  • 原文地址:https://www.cnblogs.com/zhanggq/p/10268796.html
Copyright © 2011-2022 走看看