django.contrib: Django 官方出品的“標準擴展庫”
django.contrib 是 Django 官方提供的“可選但高度集成”的功能包集合,它的名字中的 “contrib” 意為 “contributed”(貢獻的),表示這些模塊是由 Django 社區(qū)或核心團隊開發(fā)、經(jīng)過嚴格測試、并隨 Django 一起發(fā)布的“官方插件”。

數(shù)據(jù)庫




[ForeignKey]
多對一時用,如car和manufacture,一個car只屬于一個制造商,一個制造商生產(chǎn)多個car
那foreign key會放在多的那方



字段名稱限制:

模型可以有一些自定義的方法:

Django的meta
jango 模型中的 Meta 類是一個內(nèi)部類(inner class),用于定義與模型本身相關(guān)的元數(shù)據(jù)(metadata) —— 也就是“關(guān)于模型的配置信息”,而不是字段數(shù)據(jù)。
它不表示數(shù)據(jù)庫中的任何列,但能控制 Django 如何處理這個模型:包括數(shù)據(jù)庫表名、排序方式、權(quán)限、是否抽象等。

模型方法
可以自定義方法

一些meta示例

annotate和aggregate的區(qū)別
annotate → “每一條都加個統(tǒng)計字段” → 返回 QuerySet
aggregate → “整個表算一個總數(shù)” → 返回字典
要顯示列表?用 annotate。
要顯示總數(shù)?用 aggregate。

annotate和values
values() 必須在 annotate() 之前

流式傳輸大型 CSV 文件
當處理生成非常大的響應的視圖時,您可能需要考慮使用 Django 的 StreamingHttpResponse。例如,通過流式傳輸一個生成時間很長的文件,您可以避免負載均衡器放棄可能在服務器生成響應時超時連接。
