1. 程式人生 > >Django框架ORM常用字段

Django框架ORM常用字段

djang choices 地址 str last spa ace 缺省 email

與數據類型相關的字段

CharField
        作用:字符串字段, 用於較短的字符串.
        參數:CharField 要求必須有一個參數 max_length, 用於從數據庫層和Django校驗層限制該字段所允許的最大字符數.
IntegerField
       作用:用於保存一個整數.
CommaSeparatedIntegerField
        作用:用於存放逗號分隔的整數值. 類似 CharField, 必須要有maxlength參數.
FloatField
        作用:一個浮點數,必須提供兩個參數:         
        參數:max_digits,總位數(不包括小數點和符號), decimal_places,小數位數.
        示例1:要保存最大值為 
999 (小數點後保存2位),你要這樣定義字段: models.FloatField(..., max_digits=5, decimal_places=2) 示例2:要保存最大值一百萬(小數點後保存10位)的話,你要這樣定義: models.FloatField(..., max_digits=19, decimal_places=10) admin 用一個文本框(<input type="text">)表示該字段保存的數據

與時間相關的字段

DateField
        一個日期字段. 共有下列額外的可選參數:
        Argument    描述
        auto_now    當對象被保存時,自動將該字段的值設置為當前時間.通常用於表示 
"last-modified" 時間戳. auto_now_add 當對象首次被創建時,自動將該字段的值設置為當前時間.通常用於表示對象創建時間. (僅僅在admin中有意義...) DateTimeField 一個日期時間字段. 類似 DateField 支持同樣的附加選項.

與布爾值相關的字段

BooleanField
        A true/false field. admin用checkbox 來表示此類字段.

NullBooleanField
       類似 BooleanField, 不過允許 NULL 作為其中一個選項. 推薦使用這個字段而不要用 BooleanField 加 null
=True 選項 admin 用一個選擇框 <select> (三個可選擇的值: "Unknown", "Yes""No" ) 來表示這種字段數據.

與校驗相關的字段

IPAddressField
        一個字符串形式的 IP 地址, (i.e. "24.124.1.30").
EmailField
        一個帶有檢查Email合法性的 CharField,不接受 maxlength 參數.

不好分類的字段

AutoField
        一個 IntegerField, 添加記錄時它會自動增長. 你通常不需要直接使用這個字段;
        自定義一個主鍵:my_id=models.AutoField(primary_key=True)
        如果你不指定主鍵的話,系統會自動添加一個主鍵字段到你的 model.

TextField
        一個容量很大的文本字段.
        admin 用一個 <textarea> (文本區域)表示該字段數據.(一個多行編輯框).

URLField
      作用: 用於保存 URL, 若verify_exists參數為True(默認), 給定的 URL 會預先檢查是否存在( 即URL是否被有效裝入且沒有返回404響應).
      admin 用一個 <input type="text"> 文本框表示該字段保存的數據(一個單行編輯框)

Field重要參數

<1> null : 數據庫中字段是否可以為空

    <2> blank: django的 Admin 中添加數據時是否可允許空值

    <3> default:設定缺省值

    <4> editable:如果為假,admin模式下將不能改寫。缺省為真

    <5> primary_key:設置主鍵,如果沒有設置django創建表時會自動加上:
        id = meta.AutoField(ID, primary_key=True)
        primary_key=True implies blank=False, null=False and unique=True. Only one
        primary key is allowed on an object.

    <6> unique:數據唯一

    <7> verbose_name  Admin中字段的顯示名稱

    <8> validator_list:有效性檢查。非有效產生 django.core.validators.ValidationError 錯誤


    <9> db_column,db_index 如果為真將為此字段創建索引

    <10>choices:一個用來選擇值的2維元組。第一個值是實際存儲的值,第二個用來方便進行選擇。
                如SEX_CHOICES= (( ‘F’,Female’),(‘M’,Male’),)
                gender = models.CharField(max_length=2,choices = SEX_CHOICES)

Django框架ORM常用字段