常用字段
含義autofield
對映到資料庫中是int型別,可以有自動增長的特性
bigautofield
64位的整形,類似於autofield,資料的範圍是從1-9223372036854775807
booleanfield
在模型層面接收的是true/false
charfield
在資料庫層面是varchar型別,在python層面就是普通的字串,最大長度
datetimefield
日期時間型別,不僅僅可以儲存日期,還可以儲存時間
emailfield
在資料庫底層也是乙個varchar型別,最大長度是254個字元
filefield
用來儲存檔案的
imagefield
用來儲存檔案的
floatfield
浮點型別
integerfield
整形,值的區間是-2147483648——2147483647
bigintegerfield
大整形,值的區間是-9223372036854775808——9223372036854775807
positiveintegerfield
正整形,值的區間是0——2147483647
smallintegerfield
小整形,值的區間是-32768——32767
positivesmallintegerfield
正小整形,值的區間是0——32767
textfield
大量的文字型別,對映到資料庫中是longtext型別
uuidfield
只能儲存uuid格式的字串,uuid是乙個32位的全球唯一的字串,一般用來作為主鍵
urlfield
類似於charfield,只不過只能用來儲存url格式的字串,並且預設的max_length是200
如果乙個模型使用了外來鍵。那麼在對方那個模型被刪掉後,該進行什麼樣的操作。可以通過on_delete來指定。可以指定的型別如下:
1.cascade:級聯操作。如果外來鍵對應的那條資料被刪除了,那麼這條資料也會被刪除。
2.protect:受保護。即只要這條資料引用了外來鍵的那條資料,那麼就不能刪除外來鍵的那條資料。
3.set_null:設定為空。如果外來鍵的那條資料被刪除了,那麼在本條資料上就將這個字段設定為空。如果設定這個選項,前提是要指定這個字段可以為空。
4.set_default:設定預設值。如果外來鍵的那條資料被刪除了,那麼本條資料上就將這個字段設定為預設值。如果設定這個選項,前提是要指定這個字段乙個預設值。
5.set():如果外來鍵的那條資料被刪除了。那麼將會獲取set函式中的值來作為這個外來鍵的值。set函式可以接收乙個可以呼叫的物件(比如函式或者方法),如果是可以呼叫的物件,那麼會將這個物件呼叫後的結果作為值返回回去。
6.do_nothing:不採取任何行為。一切全看資料庫級別的約束。
以上這些選項只是django級別的,資料級別依舊是restrict!
Django 模型(資料庫)
1.新建專案和應用 django admin.py startproject learn models 新建乙個專案 cd learn models 進入到該項目的資料夾 2.新增應用 django.contrib.admin django.contrib.auth django.contrib.c...
Django模型資料庫配置
在虛擬開發環境中,安裝mysql的資料庫驅動mysqlclient pip install mysqlclient在項 的 settings.py 件中找到databases 配置項,將其資訊修改為 databases 屬性定義語法為 屬性 models.欄位型別 選項 屬性命名規則 autofie...
Django5 資料庫之模型字段
欄位名型別 備註models.autofield 自增列 int 如果沒有的話,缺省會生成乙個名稱為 id 的列,如果要顯示的自定義乙個自增列,必須將給列設定為主 鍵 primary key true。models.charfield 字串字段 用於從資料庫層和django校驗層限制該字段所允許的最...