1. 程式人生 > >django-models_模型相關1

django-models_模型相關1

ger sel 評論 自帶 重要 返回 integer primary bool

‘‘‘
模型字段:

django內置了許多字段類型,它們都位於django.db.models中。還可以自定義字段
Autofield 自增字段
BooleanField 布爾值 html表現為CheckboxInput標簽
CharField 字符串字段 必須參數:max_length
DateField 日期類型 html表現為TextInput標簽 重要參數:auto_now被保存時設置(可修改) auto_now_add被創建時設置(不可修改)
EmailField 郵件類型 (django自帶郵箱驗證功能)
filefield 上傳文件類型
ImageField 圖像類型
IntegerFielf 整數類型
Textfield 長文本類型
URLField 網址url字符串類型()

關系類型字段:

1、多對一(ForeignKey(‘關聯的模型‘,on_delete=models{cascade,}))兩個重要(同時也是必須)參數,
關聯的模型(表)(這個參數必須在第一個位置)以及on_delete=xxx:
外鍵要定義在多的一方,比如一個作者有多個文章那麽,文章就是多作者就是一,這個ForeignKey出現在文章表中。就是這個表中的某個數據屬於另一個表中的某個數據
外鍵參數如果出現在另一個app中則需要指定app.(表名)
當然,也可以自己關聯自己,例如評論模型。自己調用自己外鍵字段當然就是‘self’了
on_delete=xxx:
CASCADE:模擬SQL語言中的ON DELETE CASCADE約束,將定義有外鍵的模型對象同時刪除!(該操作為當前Django版本的默認操作!)
PROTECT:阻止上面的刪除操作,但是彈出ProtectedError異常
SET_NULL:將外鍵字段設為null,只有當字段設置了null=True時,方可使用該值。
SET_DEFAULT:將外鍵字段設為默認值。只有當字段設置了default參數時,方可使用。
DO_NOTHING:什麽也不做。
SET():設置為一個傳遞給SET()的值或者一個回調函數的返回值。註意大小寫。

通用字段類型參數:
null=True 可以為空
defalut=‘11’ 設置默認值
db_index=True 未知
unique=True 字段唯一不可重復
max_length=‘xxx‘ 字符長度
primary_Key=True 設置主鍵(表中主鍵唯一存在)
verbose_name 後臺顯示的字段名稱(也可以稱之為備註)
blank=True 是否允許輸入為空
editable=True 是否可以在admin中編輯
help_text=‘xxx‘ 後臺amdin的字段提示信息
choices={} admin中顯示選擇框的內容gf=models.CharField(choices=[(0,‘櫻井良‘),(1,‘蒼井空’)] ,default=0) 通常配合default一起食用
error_message={} 自定義錯誤信息(當用戶輸入時的返回信息),如error_message={‘null‘:‘不能為空‘}

‘‘‘
class Learn(models.Model):
lean_auto=models.AutoField() #AutoField 自增字段 作為主鍵(唯一) 通常不需要 django會自動生成一個字段id=models.AutoField(primary_Key=True)。也可以子自己設定但必須設置參數primary_Key=True.
learn_bool=models.BooleanField() #布爾值類型。默認值為None(非零即真也就是默認為假)。在html中表現為一個CheckboxInput標簽
learn_char=models.CharField(max_length=30) #字符串類型。最常用字段,必須接受一個max_length=128參數

django-models_模型相關1