码迷,mamicode.com
首页 > 其他好文 > 详细

双下划线多表查询

时间:2018-11-15 01:32:41      阅读:110      评论:0      收藏:0      [点我收藏+]

标签:field   mod   filter   当前时间   操作   图书   reg   als   查询   

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代表,不做外键关联

双下划线多表查询

标签:field   mod   filter   当前时间   操作   图书   reg   als   查询   

原文地址:https://www.cnblogs.com/fushaunglin/p/9961291.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!