1. 程式人生 > >【Django】模型 欄位詳解(五)

【Django】模型 欄位詳解(五)

欄位:

EmailFieldTextField:這可能是你會遇到的最常用的變數型別,作用基本一致儲存文字,區別在於CharField是定長的,TextField是無限長的

EmailField,URLFieldIPAddressField :這三個變數其實是在CharField加上一點額外的驗證,它和CharField一樣儲存在資料庫中,但是包含了驗證程式碼來保證他們的有效性

BooleanFieldNullBooleanField:用於儲存True或者False值的場景,有時候為空或者null,所有出現了NullBooleanField

AutoField:int自增列,必須填入引數 primary_key=True

IntegerField:整數列(有符號的) -2147483648 ~ 2147483647

DateTimeField:日期+時間格式 YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ]

DateField:日期格式 YYYY-MM-DD

模型關係:

ForeignKey  一對多關係

ManyToMany  多對多關係

OneToOneField  一對一關係

注:模型是可以繼承的

欄位引數詳解:

max_length 資料庫中儲存最大長度

null 資料庫中欄位是否可以為空(null=True)

db_column 資料庫中欄位的列名(db_column="test")

db_tablespace

default 資料庫中欄位的預設值

primary_key 資料庫中欄位是否為主鍵(primary_key=True)

db_index 資料庫中欄位是否可以建立索引(db_index=True)

unique 資料庫中欄位是否可以建立唯一索引(unique=True)

unique_for_date 資料庫中欄位【日期】部分是否可以建立唯一索引

unique_for_month 資料庫中欄位【月】部分是否可以建立唯一索引

unique_for_year 資料庫中欄位【年】部分是否可以建立唯一索引

auto_now 更新時自動更新當前時間

auto_now_add

建立時自動更新當前時間

verbose_name Admin中顯示的欄位名稱

related_name orm 反向查詢欄位,如果一個models中有多個外來鍵,則必填,如果只有一個外來鍵,則可以忽略

blank Admin中是否允許使用者輸入為空 表單提交時可以為空

editable Admin中是否可以編輯

help_text Admin中該欄位的提示資訊

choices Admin中顯示選擇框的內容,用不變動的資料放在記憶體中從而避免跨表操作 如:gf = models.IntegerField(choices=[(0, '何穗'),(1, '大表姐'),],default=1) error_messages 自定義錯誤資訊(字典型別),從而定製想要顯示的錯誤資訊;

相關推薦

Django模型

欄位: EmailField和TextField:這可能是你會遇到的最常用的變數型別,作用基本一致儲存文字,區別在於CharField是定長的,TextField是無限長的EmailField,URLField和IPAddressField :這三個變數其實是在CharFi

linuxValgrind工具集:命令列

一、使用方法 usage: valgrind [options] prog-and-args 使用方法:valgrind [引數選項] 程式和引數 二、選擇工具 tool-selection option, with default in [ ]: 工具選擇選項,預設值在[]

linuxValgrind工具集十三:DRD執行緒錯誤檢測器

一、概述 多執行緒程式設計需要注意的問題: 資料競爭;鎖競爭;POSIX執行緒API使用不當;死鎖; 二、使用 1、例子main.c原始碼 #include <stdio.h> #include <pthread.h> #include <s

linuxValgrind工具集十三:Helgrind執行緒錯誤檢測器

一、概述 Helgrind用於檢測C、C ++和Fortran程式中使用符合POSIX標準的執行緒函式造成的同步錯誤。 POSIX中關於執行緒的主要抽象描述有:共享公共地址空間的一組執行緒、執行緒建立、執行緒連線、執行緒退出、互斥(鎖)、條件變數(執行緒間事件通知)、讀寫器鎖、自

linuxValgrind工具集:SGCheck檢查棧和全域性陣列溢位

一、概述 SGCheck是一種用於檢查棧中和全域性陣列溢位的工具。它的工作原理是使用一種啟發式方法,該方法源於對可能的堆疊形式和全域性陣列訪問的觀察。 棧中的資料:例如函式內宣告陣列int a[10],而不是malloc分配的,malloc分配的記憶體是在堆中。 SGCheck和Me

linuxValgrind工具集:Memcheck檢查的內容和方法

一、值的有效性 1、什麼是值的有效性? 英文原文是Valid-value (V) bits,直譯過來就是有效值(V)位。 我將它理解為值的有效性,就是判斷在記憶體或CPU的實體地址中儲存的資料是否有效,比如在記憶體中變數(int i)代表的物理位置(不是地址),沒有初始化,就去使用它

linuxValgrind工具集:Memcheck命令列引數

【linux】Valgrind工具集詳解(五):命令列詳解中不夠全,在此專門針對Memcheck工具中的命令列引數做一次詳細的解釋。 Memcheck命令列選項 –leak-check=<no|summary|yes|full> [default: summary]

linuxValgrind工具集:Memcheck記憶體錯誤檢測器

一、概述 Memcheck是一個記憶體錯誤檢測器。它可以檢測C和C ++程式中常見的以下問題: 1、非法記憶體:如越界、釋放後繼續訪問; 2、使用未初始化的值; 3、釋放記憶體錯誤:如double-free(同一記憶體上執行了兩次free)、或者 malloc、new、new[] 與

linuxValgrind工具集:使用Valgrind gdbserver和GDB除錯程式

一、概述 在Valgrind下執行的程式不是由CPU直接執行的。相反,它執行在Valgrind提供的合成CPU上。這就是偵錯程式在Valgrind上執行時無法除錯程式的原因。 二、快速入門 在使用Memcheck工具時使用GDB除錯程式,啟動方式如下: 1、valgrind

HTTP請求首部

請求首部欄位是從客戶端向伺服器端傳送請求報文中所需要使用的欄位。它用來補充請求的附加資訊、客戶端資訊、對相應內容相關的優先順序等。     本文詳細講解以下請求首部欄位:Except、From、Host、If-Match、If-Modified-Since、

linuxValgrind工具集:列印資訊說明

一、列印資訊格式 Valgrind列印資訊的格式如下,很容易和程式輸出資訊區分出來 == 程序ID ==Valgrind的列印資訊 二、列印到何處 1、列印到檔案描述符中 主要是設定列印到終端上,預設情況下為2(stderr標準錯誤輸出)。如果要想列印到其他檔

Django 各種關係

開發十年,就只剩下這套架構體系了! >>>   

linuxValgrind工具集:Callgrind效能分析圖

一、概述 1、Callgrind Callgrind用於記錄程式中函式之間的呼叫歷史資訊,對程式效能分析。預設情況下,收集的資料包括執行的指令數,它們與原始碼行的關係,函式之間的呼叫者、被呼叫者關係以及此類呼叫的數量。可選項是,對快取記憶體模擬和分支預測(類似於Cachegrin

linuxValgrind工具集十四:Cachegrind快取和分支預測分析器

一、概述 Cachegrind,它模擬CPU中的一級快取I1,Dl和二級快取,能夠精確地指出程式中cache的丟失和命中。如果需要,它還能夠為我們提供cache丟失次數,記憶體引用次數,以及每行程式碼,每個函式,每個模組,整個程式產生的指令數。這對優化程式有很大的幫助。 Cach

linuxValgrind工具集十二:DHAT:動態堆分析器

一、概述 DHAT動態堆分析器。Massif(堆分析器)是在程式結束後輸出分析結果,而DHAT是實時輸出結果,所以叫做動態堆分析器。Massif只記錄堆記憶體的申請和釋放,DHAT還會分析堆空間的使用率、使用週期等資訊。 DHAT的功能:它首先記錄在堆上分配的塊,通過分析每次記憶體訪

linuxValgrind工具集十一:Massif堆分析器

一、概述 Massif是一個堆分析器。它統計程式使用的堆記憶體大小(由malloc等函式分配的記憶體)。預設情況下不統計程式所使用的所有記憶體,如果想統計所有記憶體,需要使用選項–pages-as-heap=yes。 堆分析可以幫助減少程式使用的記憶體。如果分配的記憶體還沒有釋放

C++動態記憶體分配new/new[]和delete/delete[]

一、為什麼需要動態記憶體分配? 在C++程式中,所有記憶體需求都是在程式執行之前通過定義所需的變數來確定的。 但是可能存在程式的記憶體需求只能在執行時確定的情況。 例如,當需要的記憶體取決於使用者輸入。 在這些情況下,程式需要動態分配記憶體,C ++語言將運算子new和de

word2vec 中的數學原理基於 Negative Sampling 的模型

word2vec 是 Google 於 2013 年開源推出的一個用於獲取 word vector 的工具包,它簡單、高效,因此引起了很多人的關注。由於 word2vec 的作者 Tomas

SpringMVC------參數綁定

@override 占用 通過 問題 顯示 led prop -s 意義   參數綁定,簡單來說就是客戶端發送請求,而請求中包含一些數據,那麽這些數據怎麽到達 Controller ?這在實際項目開發中也是用到的最多的,那麽 SpringMVC 的參數綁定是怎麽實現的呢?下

Spring------AOP

利用 未來 bject ted r.java -c cti throw 位置   這章我們接著講 Spring 的核心概念---AOP,這也是 Spring 框架中最為核心的一個概念。   PS:本篇博客源碼下載鏈接:http://pan.baidu.com/s/1skZ