Django module資料型別

2021-08-13 00:50:26 字數 4794 閱讀 7939

欄位名

釋義autofield

乙個自動遞增的整型字段,新增記錄時它會自動增長。你通常不需要直接使用這個字段;

如果你不指定主鍵的話,系統會自動新增乙個主鍵欄位到你的model。

booleanfield

布林字段,管理工具裡會自動將其描述為checkbox。

charfield

字串字段,單行輸入,用於較短的字串(如要儲存大量文字, 使用textfield ) charfield有乙個必填引數:

charfield.max_length:字元的最大長度,django會根據這個引數在資料庫層和校驗層限制該字段所允許的最大字元數。

textfield

commaseparatedintegerfield

用於存放逗號分隔的整數值。類似 charfield,必須maxlength 引數。

datefield

日期字段,有下列額外的可選引數:

auto_now:當物件被儲存時,自動將該字段的值設定為當前時間.通常用於表示 「last-modified」 時間戳;

auto_now_add:當物件首次被建立時,自動將該字段的值設定為當前時間.通常用於表示物件建立時間。

datetimefield

類似 datefield 支援同樣的附加選項。

emailfield

乙個帶有檢查 email 合法性的 charfield,不接受 maxlength 引數。

filefield

乙個檔案上傳字段。 要求乙個必須有的引數:

upload_to, 乙個用於儲存上載檔案的本地檔案系統路徑。 這個路徑必須包含 strftime formatting, 該格式將被上載檔案的 date/time 替換 。

在乙個 model 中使用 filefield 或 imagefield 需要以下步驟:

在你的 settings 檔案中, 定義乙個完整路徑給 media_root 以便讓 django在此處儲存上傳檔案。 (出於效能考慮,這些檔案並不儲存到資料庫。)

定義 media_url 作為該目錄的公共 url。

要確保該目錄對 web 伺服器使用者帳號是可寫的。

在你的 model 中新增 filefield 或 imagefield, 並確保定義了 upload_to 選項,以告訴 django 使用 media_root 的哪個子目錄儲存上傳檔案

你的資料庫中要儲存的只是檔案的路徑(相對於 media_root)。

出於習慣你一定很想使用 django 提供的 get__url 函式。

舉例:

如果你的 imagefield 叫作 mug_shot,

你就可以在模板中以 } 這樣的方式得到影象的絕對路徑。

欄位名釋義

filepathfield

選擇指定目錄 按限制規則選擇檔案,有三個引數可選, 其中」path」必需的

這三個引數可以同時使用, 引數描述:

path:必需引數,乙個目錄的絕對檔案系統路徑。 filepathfield 據此得到可選專案。

例: 「/home/images」;

match:可選引數, 乙個正規表示式, 作為乙個字串, filepathfield 將使用它過濾檔名。 注意這個正規表示式只會應用到 base filename 而不是路徑全名。

例: 「foo。*\。txt^」, 將匹配檔案 foo23.txt 卻不匹配 bar.txt 或 foo23.gif;

recursive:可選引數, 是否包括 path 下全部子目錄,true 或 false,預設值為 false。

match 僅應用於 base filename, 而不是路徑全名。

如:filepathfield(path=」/home/images」, match=」foo.*」, recursive=true)…會匹配 /home/images/foo.gif 而不匹配 /home/images/foo/bar.gif

欄位名釋義

floatfield

浮點型字段。

必須提供兩個 引數, 引數描述:

max_digits:總位數(不包括小數點和符號)

decimal_places:小數字數。

如:要儲存最大值為 999 (小數點後儲存2位),你要這樣定義字段:models.floatfield(…,max_digits=5, decimal_places=2)

要儲存最大值一百萬(小數點後儲存10位)的話,你要這樣定義:models.floatfield(…,max_digits=19, decimal_places=10)

欄位名釋義

imagefield

類似 filefield, 不過要校驗上傳物件是否是乙個合法。它有兩個可選引數:

height_field 和 width_field,如果提供這兩個引數,則將按提供的高度和寬度規格儲存。 該欄位要求 python imaging 庫。

integerfield

用於儲存乙個整數

ipaddressfield

乙個字串形式的 ip 位址, (如 「202.1241.30″)

nullbooleanfield

類似 booleanfield, 不過允許 null 作為其中乙個選項。 推薦使用這個欄位而不要用 booleanfield 加 null=true 選項。

admin 用乙個選擇框 (三個可選擇的值: 「unknown」, 「yes」 和 「no」 ) 來表示這種字段資料。

phonenumberfield

乙個帶有合法美國風格**號碼校驗的 charfield(格式:***-***-***x)

positiveintegerfield

類似 integerfield, 但取值範圍為非負整數(這個字段應該是允許0值的…可以理解為無符號整數)

positivesmallintegerfield

正小整型字段,類似 positiveintegerfield, 取值範圍較小(資料庫相關)

slugfield

「slug」是乙個報紙術語. slug 是某個東西的小小標記(短簽), 只包含字母,數字,下劃線和連字元.它們通常用於urls。

若你使用 django 開發版本,你可以指定 maxlength。 若 maxlength 未指定, django 會使用預設長度: 50,它接受乙個額外的引數:

prepopulate_from: **於slug的自動預置列表

smallintegerfield

類似 integerfield, 不過只允許某個取值範圍內的整數。(依賴資料庫)

timefield

時間字段,類似於 datefield 和 datetimefield。

urlfield

用於儲存 url。 若 verify_exists 引數為 true (預設), 給定的 url 會預先檢查是否存在(即url是否被有效裝入且沒有返回404響應)。

usstatefield

美國州名縮寫,由兩個字母組成(**人民無視)。

xmlfield

xml字元字段,校驗值是否為合法xml的 textfield,必須提供引數:

schema_path校驗文字的 relaxng schema 的檔案系統路徑。

選項釋義

null

預設設定為false.通常不將其用於字元型字段上,比如charfield,textfield上.字元型字段如果沒有值會返回空字串。

blank

該欄位是否可以為空。如果為假,則必須有值

choice

乙個用來選擇值的2維元組。第乙個值是實際儲存的值,第二個用來方便進行選擇。如***_choices= ((『f』,』female』),(『m』,』male』),)

core

db_column,db_index 如果為真將為此字段建立索引

default

設定預設值

editable

如果為假,admin模式下將不能改寫。預設為真

help_text

admin模式下幫助文件

primary_key

設定主鍵,如果沒有設定django建立表時會自動加上:

id = meta.autofield('id', primary_key=true)

primary_key=true 暗示著 blank=false, null=false 和 unique=true.

only one primary key is allowed on an object.

且乙個物件只允許有乙個主鍵

選項釋義

radio_admin

用於admin模式下將select轉換為radio顯示。只用於foreignkey或者設定了choices

unique

資料唯一

unique_for_date

日期唯一,如下例中系統將不允許title和pub_date兩個都相同的資料重複出現

title = meta.charfield(maxlength=30,unique_for_date=』pub_date』)
選項

釋義unique_for_month / unique_for_year

用法同上

validator_list

有效性檢查。非有效產生django.core.validators.validationerror 錯誤

mysql tinlong MySQL資料型別詳解

引言 mysql中定義資料欄位的型別對你資料庫的優化是非常重要的。mysql支援多種型別,大致可以分為三類 數值 日期 時間和字串 字元 型別,如下腦圖所示 數值型別 型別大小範圍 有符號 範圍 無符號 用途 tinyint 1 位元組 128,127 0,255 小整數值 smallint 2 位...

資料讀取類

今天在聽講座的時候找到了乙個比較好的類,趕緊記下來 呼叫這個類也非常簡單,第一步是設定連線字串 connectionstrings clear add name pubsdata connectionstring data source sqlexpress attachdbfilename dat...

資料採集類

爬蟲,又稱蜘蛛,是從別的 抓取資源的一種方法,c net使用爬蟲的方法如下 protected string getpagehtml string url catch return pageinfo 按上述方法就可以在程式中獲取某url的頁面原始檔。但是有些 遮蔽了爬蟲,那就需要模擬瀏覽器獲取的方法...