Django學習筆記(2)字段屬性和選項

2021-10-02 22:55:49 字數 1402 閱讀 7687

(1)不能是python保留關鍵字

(2)不允許使用連續的下劃線

(3)定義屬性時需要制定字段型別,通過字段型別的引數指定選項,語法如下:屬性名=models.欄位型別(選項)

引入django.db.models:from django.db import models

autofield:自動增長的intergerfield

booleanfield:布林字段

nullbooleanfield:允許null

charfield(max_length=最大長度):必須指定max_length

textfield:大文字字段,超過4000個字元時使用

intergerfield:整數

decimalfield(max_digits=none,decimal_places=none):十進位制浮點數,第乙個引數表示總位數,第二個引數表示小數字數。

floatfield:引數同上

datefield([auto_now=false,auto_now_add=false)引數auto_now表示每次儲存物件時,自動設定該字段為當前時間,用於「最後一次修改」的時間戳,總是使用當前日期,預設為false。引數auto_now_add表示當物件第一次被建立時自動設定當前時間,用於建立的時間戳,預設為false。兩個引數互相排斥。

timefield:引數同上

datetimefield:引數同上

filefield:上傳檔案字段

imagefiled:繼承於filefield,對上傳內容進行校驗,確保是有效的。

通過選項實現對字段的約束

default:預設值

primary_key:為true時該字段為主碼。預設為false。

unique:為true時表示該字段在表中有唯一值。預設為false。

db_index:建立索引

db_column:欄位的名稱,指定表中字段的名稱和類屬性名稱不一樣。

null:是否允許為空,預設值為false

blank:和後台管理有關,設定後台管理頁面的字段是否允許為空。

注意當修改模型類之後,如果新增的選項不影響表的結構,這不需要重新做遷移,例如:default和blank不影響表結構。

MySQL 操作命令 2 字段 屬性 約束

1 非空約束 要求插入記錄的時候,該欄位不得為null。寫法 在字段後面寫上not null。2 唯一性約束 多條記錄的某個字段不得重複。約束id欄位不得重複 create table t3 id int,name varchar 10 unique uk1 id 可以對多個字段進行唯一性限定,只有...

鹹魚筆記 Django模型(字段屬性)

學習版本 django 1.8.python 3.5 模型 欄位屬性 模型類屬性命名限制 不能是python的保留關鍵字 不允許使用連續的下劃線 定義屬性時需要指定字段型別,通過字段型別的引數指定選項,語法如下 屬性名 models.欄位型別 選項 字段型別 使用時 需要倒入包django.db.m...

Yii 2 字段校驗

開發web應用有乙個很重要的原則,就是不要相信任何輸入的資料,在使用之前必須要進行有效性檢查,否則很有可能會引發各種安全性問題。yii 2當然也不會忽略這個問題,提供了校驗器這一有力的工具,該工具可同時提供客戶端和伺服器端的資料校驗。在model內,過載rules 介面,配置每個欄位的規則,如下 以...