Pycharm開發(fā)Django的關(guān)于模型常用屬性
模型常用屬性
常用字段:
在Django中,定義了一些Field來與數(shù)據(jù)庫表中的字段類型來進行映射。以下將介紹那些常用的字段類型。
AutoField:
映射到數(shù)據(jù)庫中是int類型,可以有自動增長的特性。一般不需要使用這個類型,如果不指定主鍵,那么模型會自動的生成一個叫做id的自動增長的主鍵。如果你想指定一個其他名字的并且具有自動增長的主鍵,使用AutoField也是可以的。
BigAutoField:
64位的整形,類似于AutoField,只不過是產(chǎn)生的數(shù)據(jù)的范圍是從1-9223372036854775807。
BooleanField:
在模型層面接收的是True/False。在數(shù)據(jù)庫層面是tinyint類型。如果沒有指定默認(rèn)值,默認(rèn)值是None。
CharField:
在數(shù)據(jù)庫層面是varchar類型。在Python層面就是普通的字符串。這個類型在使用的時候必須要指定最大的長度,也即必須要傳遞max_length這個關(guān)鍵字參數(shù)進去。
DateField:
日期類型。在Python中是dateTime.date類型,可以記錄年月日。在映射到數(shù)據(jù)庫中也是date類型。使用這個Field可以傳遞以下幾個參數(shù):
auto_now:在每次這個數(shù)據(jù)保存的時候,都使用當(dāng)前的時間。比如作為一個記錄修改日期的字段,可以將這個屬性設(shè)置為True。
auto_now_add:在每次數(shù)據(jù)第一次被添加進去的時候,都使用當(dāng)前的時間。比如作為一個記錄第一次入庫的字段,可以將這個屬性設(shè)置為True。
DateTimeField:
日期時間類型,類似于DateField。不僅僅可以存儲日期,還可以存儲時間。映射到數(shù)據(jù)庫中是dateTime類型。這個Field也可以使用auto_now和auto_now_add兩個屬性。
TimeField:
時間類型。在數(shù)據(jù)庫中是time類型。在Python中是dateTime.time類型。
EmailField:
類似于CharField。在數(shù)據(jù)庫底層也是一個varchar類型。最大長度是254個字符。
FileField:
用來存儲文件的。這個請參考后面的文件上傳章節(jié)部分。
ImageField:
用來存儲圖片文件的。這個請參考后面的圖片上傳章節(jié)部分。
FloatField:
浮點類型。映射到數(shù)據(jù)庫中是float類型。
Inte