Django(part21)--models字段
生活随笔
收集整理的這篇文章主要介紹了
Django(part21)--models字段
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
學習筆記,僅供參考,有錯必糾
參考自:django 官方文檔;Django 1.11.6 中文;django models 之字段詳解
models字段
models的字段類型
| models.AutoField | 自增列 int(11) | 如果沒有的話,默認會生成一個名稱為 id 的列,如果要顯示的自定義一個自增列,必須將給列設置為主鍵 primary_key=True。 |
| models.CharField | 字符串字段 | 必須使用max_length參數,django會根據這個參數在數據庫層和校驗層限制該字段所允許的最大字符數。只可用于較短的字符串,如要保存大量文本, 可使用 TextField。 |
| models.BooleanField | 布爾類型tinyint(1) | 該字段不能為空,也就是說他的Blank=True |
| models.ComaSeparatedIntegerField | 用逗號分割的數字 | 繼承CharField,所以必須有max_lenght 參數 |
| models.DateField | 日期類型date | 如果參數auto_now = True,則每次更新都會更新這個時間;如果設置auto_now_add = True,則只是第一次創建添加,之后的更新不再改變。 |
| models.DateTimeField | 日期類型 datetime | 和DateField的參數相同 |
| models.DecimalField | 十進制小數類型decimal | 必須指定整數位max_digits和小數位decimal_places |
| models.EmailField | 正則表達式郵箱varchar | 對字符串進行正則表達式匹配,匹配一個帶有檢查Email合法性的 CharField,不接受maxlength 參數。 |
| models.FloatField | 浮點類型 double | 浮點型字段 |
| models.IntegerField | 整形 | 用于保存一個整數 |
| models.BigIntegerField | 長整形 | - |
| models.IPAddressField | ip4正則表達式 | 一個字符串形式的 IP 地址, 如 202.1241.30 |
| models.GenericIPAddressField | ip4和ip6為可選項 | 參數protocol可以為:both、ipv4、ipv6 |
| models.NullBooleanField | 允許為空的布爾類型 | 類似于BooleanField, 不過允許 NULL 作為其中一個選項。 推薦使用這個字段而不要用 BooleanField 加 null=True 選項。 |
| models.PositiveIntegerField | 正Integer | 類似于IntegerField, 但取值范圍為非負整數 |
| models.PositiveSmallIntegerField | 正smallInteger | 正小整型字段 |
| models.SmallIntegerField | 數字 | 類似于 IntegerField, 不過只允許某個取值范圍內的整數。(依賴數據庫) |
| models.TextField | 字符串longtext | 一個容量很大的文本字段 |
| models.TimeField | 時間 HH:MM[:ss[.uuuuuu]] | 時間字段 |
| models.URLField | 地址正則表達式 | 用于保存URL,若參數verify_exists=True (默認), 會預先檢查URL是否存在(即URL是否被有效裝入且沒有返回404響應). |
| models.BinaryField | 二進制 | |
| models.ImageField | 圖片 | 該字段要求 Python Imaging 庫。 |
| models.FilePathField | 選擇指定目錄按限制規則選擇文件 | |
| models.PhoneNumberField | 一個帶有合法美國風格電話號碼校驗的 CharField | 格式:XXX-XXX-XXXX |
| models.FileField | 文件上傳字段 | |
| models.USStateField | 美國州名縮寫 | 由兩個字母組成 |
| models.XMLField | XML字符字段 | - |
字段選項
以下參數對所有字段類型均有效,且是可選的。
| null | 如果設置為 True, 當該字段為空時,Django 會將數據庫中該字段設置為 NULL,默認為 False。 |
| blank | 如果設置為 True ,該字段允許為空。默認為 False 。 |
| choices | 一個可迭代的(例如,一個列表或元組),它本身就包含兩個項目的可迭代項(例如[(A, B), (A, B) ...])作為該字段的選項。 第一個值是實際存儲的值,第二個用來方便進行選擇,如SEX_CHOICES= ((‘F’,'Female’),(‘M’,'Male’),) |
| default | 字段的默認值。 這可以是一個值或一個可調用的對象。 如果可調用,則每次創建新對象時都會調用它。 |
| editable | 如果False,該字段將不會顯示在管理員或任何其他ModelForm中。 |
| help_text | admin模式下的幫助文檔 |
| primary_key | 如果True,則該字段是模型的主鍵;如果沒有設置,django創建表時會自動加上 |
| error_messages | 使用error_messages參數可以覆蓋該字段將引發的默認消息。 傳入一個字典,其中包含與要覆蓋的錯誤消息相匹配的密鑰。 |
| unique | 如果True,則該字段在整個表格中必須是唯一的。 |
| unique_for_date | 要求此字段對于日期字段的值是唯一的。 |
| unique_for_month | 與unique_for_date類似,但要求該字段相對于月份而言是唯一的。 |
| db_index | 如果設置為True, 表示為該列增加索引 |
| db_column | 指定列的名稱,如果不指定的話則采用變量名作為列名 |
總結
以上是生活随笔為你收集整理的Django(part21)--models字段的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 适合单人照的5种拍照姿势,值得收藏
- 下一篇: Django(part22)--创建数据