Django1.8文档阅读手记

主要集中在新特性上。

Django1.8好像开始推荐使用python3

Django的QuerySet是延迟加载的,这个文档里面一般会明言,通过Connection SQL显示测试,外键对象也是延迟加载的。

Django1.8的get filter等方法继续在aptana pydev下error:undefined variables from import,不过收费的pycharm似乎解决自django1.7以后出现的这个问题。

Web development is often broad, not deep – problems span many domains.

One-to-one relationships:This is most useful on the primary key of an object when that object “extends” another object in some way.It is Model inheritance too.

A field name cannot contain more than one underscore in a row, due to the way Django’s query lookup syntax works

limiting the queryset using an array slice or an index will not populate the cache.

If you need to execute more complex queries (for example, queries with OR statements), you can use Q objects.

Note that delete() is the only QuerySet method that is not exposed on a Manager itself. This is a safety mechanism to prevent you from accidentally requesting Entry.objects.delete(), and deleting all the entries.

Forward access to one-to-many relationships is cached the first time the related object is accessed.

对Model层的重新认识,以前一直认为Django的Model层不过是一个Active Record模式的Data Access Layer层,最近重新通篇阅读Guide文档,发现认识有所不足:它不仅是一个自下而上设计实现的数据访问设施,而且是一个面向领域业务模型自上而下设计的模型实现层.

However, when a values() clause is used to constrain the columns that are returned in the result set, the method for evaluating annotations is slightly different. Instead of returning an annotated result for each result in the original QuerySet, the original results are grouped according to the unique combinations of the fields specified in the values() clause.

Class inheritance and model managers aren’t quite a perfect match for each other.

Avoid catching exceptions inside atomic!

As well as caching of the whole QuerySet, there is caching of the result of attributes on ORM objects. In general, attributes that are not callable will be cached,But in general, callable attributes cause DB lookups every time.

时间: 2024-10-30 11:31:04

Django1.8文档阅读手记的相关文章

Git帮助文档阅读笔记----第二章-第五节---打标签

本节我们一起来学习如何列出所有可用的标签,如何新建标签,以及各种不同类型标签之间的差别. 列显已有的标签 直接运行 git tag 即可: 可以用特定的搜索模式列出符合条件的标签.在 Git 自身项目仓库中,有着超过 240 个标签,如果你只对 1.4.2 系列的版本感兴趣,可以运行下面的命令: $ git tag -l 'v1.4.2.*' v1.4.2.1 v1.4.2.2 v1.4.2.3 v1.4.2.4 新建标签 轻量级的(lightweight) 含附注的(annotated)(建议

苹果Xcode帮助文档阅读指南

本文转自:tinyfool 由 tinyfool 发布于 2013年08月21日 | 更新于 3周前 jackwen lionlee Claud 等6人欣赏. 1人反对. 一直想写这么一个东西,长期以来我发现很多初学者的问题在于不掌握学习的方法,所以,Xcode那么好的SDK文档摆在那里,对他们也起不到什么太大的作用.从论坛.微博等等地方看到的初学者提出的问题,也暴露出他们不知道很多他们的疑惑其实在文档里面写的非常清楚.而有时候当他们想从文档去找解决方案的时候,也往往找不到.或者有些人意识到了,

转:苹果Xcode帮助文档阅读指南

一直想写这么一个东西,长期以来我发现很多初学者的问题在于不掌握学习的方法,所以,Xcode那么好的SDK文档摆在那里,对他们也起不到什么太大的作用.从论坛.微博等等地方看到的初学者提出的问题,也暴露出他们不知道很多他们的疑惑其实在文档里面写的非常清楚.而有时候当他们想从文档去找解决方案的时候,也往往找不到.或者有些人意识到了,阅读文档是学习的好办法,但是不得要领. 中国的技术社区有一个很没意思的毛病,就是技术深了,看不懂骂不知所云,技术浅了,看得懂骂没有技术含量.不过管那么孙子做啥,对于现在可能

蓝牙4.0核心文档阅读笔记

一.蓝牙技术介绍 蓝牙无线通讯包括两种模式:基础模式(BR, Basic Rate)和低功耗模式(LE, Low Energy). 蓝牙系统包括一个Host和多个Controllers,Host包括在HCI(Host Controller Interface)与应用程序之间,Controller指HCI以下的层.典型的BLE(Bluetooth Low Energy)协议栈结构如下图所示. 二.低功耗蓝牙4.0(BLE)概述 BLE具有两种多路通信方式:频分多址(FDMA,Frequency d

IOS苹果Xcode帮助文档阅读指南

一直想写这么一个东西,长期以来我发现很多初学者的问题在于不掌握学习的方法,所以,Xcode那么好的SDK文档摆在那里,对他们也起不到什么太大的作用.从论坛.微博等等地方看到的初学者提出的问题,也暴露出他们不知道很多他们的疑惑其实在文档里面写的非常清楚.而有时候当他们想从文档去找解决方案的时候,也往往找不到.或者有些人意识到了,阅读文档是学习的好办法,但是不得要领. 中国的技术社区有一个很没意思的毛病,就是技术深了,看不懂骂不知所云,技术浅了,看得懂骂没有技术含量.不过管那么孙子做啥,对于现在可能

Git帮助文档阅读笔记----第二章

记录每次更新到仓库 工作目录下面的所有文件都不外乎这两种状态:已跟踪或未跟踪 文件的状态变化周期 检查当前文件状态 要确定哪些文件当前处于什么状态,可以用 git status 命令 $ git status 如果当前工作目录中添加了新文件,会显示为未跟踪状态 $ vim README $ git status On branch master Untracked files: (use "git add <file>..." to include in what will

Git帮助文档阅读笔记----第二章-第二节

查看提交历史 1.查看提交历史 git log 默认不用任何参数的话,git log 会按提交时间列出所有的更新,最近的更新排在最上面 git log 有许多选项可以帮助你搜寻感兴趣的提交 1.  -p选项展开显示每次提交的内容差异 2.  -2显示最近的两次更新 该选项除了显示基本信息之外,还在附带了每次 commit 的变化.当进行代码审查,或者快速浏览某个搭档提交的 commit 的变化的时候,这个参数就非常有用了. 某些时候,单词层面的对比,比行层面的对比,更加容易观察.Git 提供了 

Git帮助文档阅读笔记----第二章-第四--节远程仓库的使用

管理这些远程仓库,以便推送或拉取数据 添加远程库 移除废弃的远程库 管理各式远程库分支 定义是否跟踪分支 查看当前的远程库 可以用 git remote 命令,它会列出每个远程库的简短名字 也可以加上 -v 选项(译注:此为 --verbose 的简写,取首字母),显示对应的克隆地址: 如果有多个远程仓库,此命令将全部列出.比如在我的 Grit 项目中,可以看到: 添加远程仓库 要添加一个新的远程仓库,可以指定一个简单的名字,以便将来引用,运行 git remote add [shortname

Git帮助文档阅读笔记----第二章-第三节

撤消操作 1.修改最后一次提交 有时候我们提交完了才发现漏掉了几个文件没有加,或者提交信息写错了.想要撤消刚才的提交操作,可以使用 --amend 选项重新提交: $ git commit --amend 直接运行此命令的话,相当于有机会重新编辑提交说明,但将要提交的文件快照和之前的一样. 如果刚才提交时忘了暂存某些修改,可以先补上暂存操作,然后再运行 --amend 提交 $ git commit -m 'initial commit' $ git add forgotten_file $ g