日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Django(part21)--models字段

發(fā)布時(shí)間:2023/12/19 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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.IPAddressFieldip4正則表達(dá)式一個(gè)字符串形式的 IP 地址, 如 202.1241.30
models.GenericIPAddressFieldip4和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.XMLFieldXML字符字段-

字段選項(xiàng)

以下參數(shù)對(duì)所有字段類型均有效,且是可選的。


參數(shù)意義
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_textadmin模式下的幫助文檔
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)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。