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