第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

帶有 db_index=False 的 Django OneToOneField

帶有 db_index=False 的 Django OneToOneField

慕標琳琳 2021-09-14 21:14:33
據(jù)我所知,OneToOneField將創(chuàng)建一個unique-constraint數(shù)據(jù)庫unique-index來管理unique-constraint內(nèi)部的唯一值。結果,unique-constraint將等同于unique-index. (因為都有一張unique-index桌子)萬一models.OneToOneField('one_to_one', db_index=False)呢?OneToOneField需要unique-index管理,unique-constraint但它告訴不要創(chuàng)建db_index。對我來說似乎很奇怪,但沒有任何語法錯誤。它是如何工作的?models.OneToOneField('one_to_one', db_index=False)和之間有什么不同models.OneToOneField('one_to_one')?
查看完整描述

2 回答

?
富國滬深

TA貢獻1790條經(jīng)驗 獲得超9個贊

OneToOneField暗示unique=True(正如您可以在源代碼中明確看到的那樣),并unique=True暗示db_index=True,如文檔中所述:

請注意, when uniqueis True,您不需要指定db_index,因為unique意味著創(chuàng)建索引。

所以你db_index=False被默默地忽略了。有人可能會爭辯說,在這種情況下應該發(fā)出警告。

請注意,有一個公認的票同時允許unique=Truedb_index=False在某些情況下,但是這不會是他們中的一個。


查看完整回答
反對 回復 2021-09-14
?
泛舟湖上清波郎朗

TA貢獻1818條經(jīng)驗 獲得超3個贊

查看OneToOneField源代碼,它將始終UNIQUE在表上設置約束。這將覆蓋(悄悄地,顯然)db_index您可能設置的任何首選項

如果您想通過其他方式查看正在發(fā)生的事情,這里有幾個選項:

  1. 您可以在生成的遷移中使用sqlmigrateDjango 命令來查看它會告訴您的數(shù)據(jù)庫做什么

  2. 執(zhí)行遷移后,您可以檢查數(shù)據(jù)庫以查看已設置的約束/索引


查看完整回答
反對 回復 2021-09-14
  • 2 回答
  • 0 關注
  • 310 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號