django主題

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


image.png

數(shù)據(jù)庫

image.png
image.png
image.png
image.png

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

image.png

image.png
image.png

字段名稱限制:


image.png

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


image.png

Django的meta

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

image.png

模型方法

可以自定義方法


image.png

一些meta示例


image.png

annotate和aggregate的區(qū)別

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


image.png

annotate和values

values() 必須在 annotate() 之前


image.png

流式傳輸大型 CSV 文件

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

image.png

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容