前记:Django的ORM、模块有很多函数细节,要学会多看文档学习函数的细节

聚合annotate()和aggregate()的使用

简言之,annotate()得到的是查询集,类似all(),只不过多了一列属性,annotate()新增的,例如统计每个出版社有多少本书(书外键到出版社),但是统计书的单价总和,用annotate()会给每个书记录加个总和属性,此时不如使用aggregate(),aggregate()可以配合Sum()等方法直接得出一个字典,里面是key-value。
当django聚合annotate或者aggregate时取出字典值。
聚合annotate()后[0]可能报错,aggreagate()的取值也可能None,if not a:a = 0,也可以.get(a,0)。

有关时间arrow的使用

基于当前取出上个月年月
import arrow
arrow.now().shift(months=-1).strftime('%Y-%m')

特殊distinct()的连用,要好好看相关的sql语句

django的values()和distinct()实现了对values()中的值去重

json交互

json数据标准字符串是双引号,平时写字符串尽量双引号

Form校验

Django的Form校验可以写校验器,一些校验的逻辑可以不写在试图函数

日志

在Python的loggin模块中,主要包含四大金刚:
Loggers:记录器
Hanglers:处理器
Filters:过滤器
Formatters:格式化器
loggins模块定义了日志级别,按时间严重程度由低到高排列,全部是大写,因为它们是常量:

级别 级别数值 使用时机
DEBUG 10 详细信息,常用于调试
INGO 20 程序正常运行过程中产生的一些信息
WARNING 30 警告用户,虽然程序还在正常工作,但有可能发生错误
ERROR 40 由于更严重的问题,程序已不能执行一些功能了
CRITICAL 50 严重错误,程序已不能继续运行

正向查询和反向查询

正向查询(通过字段),反向查询(通过表名),同样道理,***是正向代理,Nginx是反向代理

Django细节小记的更多相关文章

  1. [Django] 单元测试小记

    从前很少写单元测试了,特别是web应用.最近不知不觉喜欢起来这个事情了,发现单元测试对于软件的模块,正交性有很大促进作用,因为函数,模块写的不合理,单元测试写起来就麻烦的多呀.公司的项目一直都是用Dj ...

  2. django细节

    1.处理请求 1.1  /add/?a=4&b=5 这样GET方法进行[获取参数] from django.shortcuts import render from django.http i ...

  3. Django的小记

    大致按流程列出来 在pycham中创建Django project时要确定机器上的版本及你要用的版本,机器上一般情况下默认最新版本2.1(2018年11月),根据需要下载相应版本 创建好工程后就要创建 ...

  4. Django学习小记1-安装配置

    Django是一个开放源代码的Web应用框架,由Python写成. python 中的web框架有许多例如:Django.Tornado.Flask..而Django相较与其他WEB框架其优势为:大而 ...

  5. C#中Dictionary小记

    使用C#中Dictionary的一下细节小记: 一.Dictionary.Add(key,value) 与 Dictionary[key]=value的区别: 如果Dictionary中已经有了key ...

  6. Django应用部署 - 上线指南

    http://blog.csdn.net/pipisorry/article/details/46957613 python manage.py runserver已经很接近于服务器的形式,但是并不能 ...

  7. Python资源大全

    The Python Tutorial (Python 2.7.11) 的中文翻译版本.Python Tutorial 为初学 Python 必备官方教程,本教程适用于 Python 2.7.X 系列 ...

  8. Github上的python开源项目

    Python开源项目,期待大家和我们一起共同维护 github排名榜单 https://github.com/trending github搜索榜单:https://github.com/search ...

  9. JavaScript正则表达式replace的一个坑

    题图来自:https://wallhaven.cc/w/md353k 经常听大家说JavaScript是魔法语言,咱却没有什么深刻体会.直到这回踩到这个坑,我终于醒悟了,JavaScript果然来自霍 ...

随机推荐

  1. 1231: ykc买零食

    1231: ykc买零食时间限制: 1 Sec  内存限制: 128 MB 题目描述 ykc的班级准备举行班级聚会,而身为生活委员的ykc要为此准备好零食,这天,ykc来到了学校的新起点超市,在转了3 ...

  2. redis 有序集合(zset)函数

    redis 有序集合(zset)函数 zAdd 命令/方法/函数 Adds the specified member with a given score to the sorted set stor ...

  3. week1 - Python基础1 介绍、基本语法、流程控制

    知识内容: 1.python介绍 2.变量及输入输出 3.分支结构 4.循环结构 一.python介绍 Python主要应用领域: 云计算: 云计算最火的语言, 典型应用OpenStack WEB开发 ...

  4. python反反爬,爬取猫眼评分

    python反反爬,爬取猫眼评分.解决网站爬取时,内容类似:$#x12E0;样式,且每次字体文件变化.下载FontCreator . 用FontCreator打开base.woff.查看对应字体关系 ...

  5. Java8-对map过滤

    1.对map按值过滤返回值 public class TestMapFilter { public static void main(String[] args) { Map<Integer, ...

  6. Tomcat笔记 #01# WEB应用管理工具简介

    索引 查看JVM以及SERVLET/接口的情况 动态管理WEB应用 Tomcat自带了一个基于网页的web应用管理工具,可以帮助我们监控&管理部署上去的WEB APP,特别方便!恰好之前碰到的 ...

  7. Ruby学习笔记之升级ruby的版本

    升级ruby版本,有时候安装ruby的版本过低,需要进行升级,例如安装在centos6.7安装fpm需要ruby版本在1.9以上. 0x00 主机环境如下 [root@test ~]# cat /et ...

  8. id、class等各种选择器总结

    1.  id              选择器       #     class        选择器        .     标签         选择器       标签名     群组   ...

  9. 0x16 Tire

    参考链接:https://www.cnblogs.com/TheRoadToTheGold/p/6290732.html 题目链接:https://www.acwing.com/problem/con ...

  10. 【Django试图与网址003】

    Django中网址是写在 urls.py 文件中,用正则表达式对应 views.py 中的一个函数(或者generic类),我们用一个项目来演示. 一,首先,新建一个项目(project), 名称为 ...