免费观看又色又爽又黄的小说免费_美女福利视频国产片_亚洲欧美精品_美国一级大黄大色毛片

Django中ORM常用字段類型及參數(shù)配置的示例分析-創(chuàng)新互聯(lián)

這篇文章將為大家詳細講解有關(guān)Django中ORM常用字段類型及參數(shù)配置的示例分析,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

創(chuàng)新互聯(lián)公司服務(wù)項目包括金湖網(wǎng)站建設(shè)、金湖網(wǎng)站制作、金湖網(wǎng)頁制作以及金湖網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,金湖網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到金湖省份的部分城市,未來相信會繼續(xù)擴大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

一、數(shù)值型

  • AutoField對應(yīng)int(11)。自增主鍵,Django Model默認(rèn)提供,可以被重寫。

  • BooleanField對應(yīng)tinyint(1)。布爾類型字段,一般用于記錄狀態(tài)標(biāo)記。

  • DecimalField對應(yīng)decimal。開發(fā)對數(shù)據(jù)精準(zhǔn)要求較高大的業(yè)務(wù)時考慮使用。比如:cash=models.DecimalField(max_length, decimal_places=2, default=0, verbose_name=“消費金額”),就是定義長度為8位、精度位2位的數(shù)字,例如數(shù)字:666666.66。

  • IntergerField對應(yīng)**int(11) **。同AutoField一樣,唯一的差別就是不自增。

  • PositiveIntegerField。同IntegerField,只包含正整數(shù)。

  • SmallIntegerField對應(yīng)smallint。小整數(shù)時一般會用到。

二、字符型

django對應(yīng)到Mysql中有兩種類型:longtext和varchar。

除了TextField是longtest類型外,其他屬于varchar類型。

  • CharField對應(yīng)varchar。基礎(chǔ)的varchar類型。

  • URLField.繼承自CharField,但是實現(xiàn)了對URL特特殊處理。用來存儲URL數(shù)據(jù),非URL數(shù)據(jù)可以在業(yè)務(wù)層就拒絕掉,不會存入數(shù)據(jù)庫中。

  • UUIDField對應(yīng)char(32)。除了在PostgreSQL中使用的是uuid類型外,在其他數(shù)據(jù)庫中均是固定長度char(32),用來存放生成的唯一id。

  • EmailField。同URLfield一樣繼承自CharField,多了對email的特殊處理。

  • FileField。同URLField一樣,它繼承自CharField,對了對文件的特殊處理。

  • TextField對應(yīng)longtext。一般用于存放大量文本內(nèi)容,比如新聞?wù)摹⒉┛驼摹?/p>

  • ImageField。繼承自FileField,用來處理圖片相關(guān)的數(shù)據(jù),在展示上會有所不同。

三、日期類型

django中有3中日期類型,分別對應(yīng)Mysql的date、datetime和time

  • DateField對應(yīng)date

  • DateTimeField對應(yīng)datetime

  • TimeField對應(yīng)time

四、關(guān)系類型

  • ForeignKey,外鍵

  • OneToOneField,一對一

  • ManyToManyField,多對多

五、參數(shù)

上面django所提供的字段都是類。

比如models.CharField的定義就是:class CharField:。

每個字段里面都提供了參數(shù)可以選擇:

  • null。可以同blank進行對比。null用于設(shè)定在數(shù)據(jù)庫層面是否允許為空

  • blank。針對業(yè)務(wù)層面,該值是否允許為空。

  • choices。配置字段的choices后,在admin頁面上就可以看到對應(yīng)的可選項展示。

  • db_column。默認(rèn)情況下,定義的field就是對應(yīng)數(shù)據(jù)庫中的字段名稱,通過這個參數(shù)可以指定Model中的某個字段對應(yīng)數(shù)據(jù)庫中的哪個字段。

  • db_index。數(shù)據(jù)庫索引配置。

  • default。默認(rèn)值配置。

  • editable。是否可編輯,默認(rèn)是True。如果不想這個字段顯示在頁面上,可以配置為False。

  • error_messages。用來自定義字段值校驗失敗時的異常提示,它是字典格式。key的值可選項為null、blank、invalid、invalid_choice、unique和unique_for_date。

  • help_text。字段提示語,配置這一項后,在頁面對應(yīng)字段的下方會展示此配置。

  • primary_key。主鍵,一個Model只允許設(shè)置一個字段為primary_key。

  • unique。唯一約束,當(dāng)需要配置唯一值時,設(shè)置unique=True,設(shè)置此項后,不需要設(shè)置db_index。

  • unique_for_date。針對date(日期)的聯(lián)合約束。比如說一天只能寫一篇博文,即:unique_for_date=“博文”

  • unique_for_month。針對月份的聯(lián)合約束 。

  • unique_for_month。針對年份的聯(lián)合約束。

  • verbose_name。字段對應(yīng)的展示文案。

  • validators。自定義校驗邏輯,同form類似。

關(guān)于Django字段類型中 blank和null的區(qū)別

blank

設(shè)置為True時,字段可以為空。設(shè)置為False時,字段是必須填寫的。字符型字段CharField和TextField是用空字符串來存儲空值的。

如果為True,字段允許為空,默認(rèn)不允許。

null

設(shè)置為True時,django用Null來存儲空值。日期型、時間型和數(shù)字型字段不接受空字符串。所以設(shè)置IntegerField,DateTimeField型字段可以為空時,需要將blank,null均設(shè)為True。

如果為True,空值將會被存儲為NULL,默認(rèn)為False。

如果想設(shè)置BooleanField為空時可以選用NullBooleanField型字段。

一句話概括

  • null 是針對數(shù)據(jù)庫而言,如果 null=True, 表示數(shù)據(jù)庫的該字段可以為空。

  • blank 是針對表單的,如果 blank=True,表示你的表單填寫該字段的時候可以不填,比如 admin 界面下增加 model 一條記錄的時候。直觀的看到就是該字段不是粗體

  • 通俗點說,該字段null=true后,你進行插入,修改操作時可以為空,然后Django把空值轉(zhuǎn)換成null存在數(shù)據(jù)庫中,而blank只是在表單驗證的時候會檢測你是否可以為空

關(guān)于“Django中ORM常用字段類型及參數(shù)配置的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

網(wǎng)頁名稱:Django中ORM常用字段類型及參數(shù)配置的示例分析-創(chuàng)新互聯(lián)
網(wǎng)頁地址:http://m.newbst.com/article36/dcepsg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站虛擬主機做網(wǎng)站ChatGPTApp設(shè)計網(wǎng)站設(shè)計公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司