国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

腳本之家,腳本語(yǔ)言編程技術(shù)及教程分享平臺(tái)!
分類(lèi)導(dǎo)航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務(wù)器之家 - 腳本之家 - Python - Django如何自定義model創(chuàng)建數(shù)據(jù)庫(kù)索引的順序

Django如何自定義model創(chuàng)建數(shù)據(jù)庫(kù)索引的順序

2021-07-16 00:22628 財(cái)經(jīng) Python

這篇文章主要介紹了Django如何自定義model創(chuàng)建數(shù)據(jù)庫(kù)索引的順序,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

首先這是一個(gè)先有雞還是先有蛋的問(wèn)題,大部分時(shí)候數(shù)據(jù)都來(lái)自excel的整理,當(dāng)數(shù)據(jù)越來(lái)越多,需要分析的點(diǎn)也越來(lái)越多的時(shí)候,通過(guò)excel來(lái)管理顯然有些吃力了。

這時(shí)候就需要將excel導(dǎo)入到數(shù)據(jù)庫(kù)中,然而model創(chuàng)建的索引并非是我們編寫(xiě)時(shí)候的順序,特別是當(dāng)存在 models.foreignkey 時(shí),我們必須要先創(chuàng)建 foreignkey的class,最后再創(chuàng)建總表。

為了保證數(shù)據(jù)庫(kù)的索引跟excel的索引一致,我們需要對(duì)model中的索引字段做一系列的處理(可能這是一個(gè)野路子)。

首先當(dāng)然是先創(chuàng)建好foreignkey,這部分class要寫(xiě)在前面,否則總表的class對(duì)于引用的foreignkey會(huì)提示未定義(這部分不做舉例)。

接下來(lái)創(chuàng)建總表,此時(shí)不要著急去填寫(xiě)總表中的索引字段,只先創(chuàng)建這個(gè)總表的表頭,如下圖:

?
1
2
3
4
5
6
7
8
9
@python_2_unicode_compatible
class zz_demo(models.model): #此處的zz開(kāi)頭的命名是為了讓這個(gè)class在最后創(chuàng)建
######中間什么都不要寫(xiě)######
 class meta:
 verbose_name = '這是個(gè)demo'
 verbose_name_plural = '這是個(gè)demo' #這些是在django admin里顯示的 可忽略
 
 def __str__(self):
 return self.name

然后在終端執(zhí)行:

?
1
2
python manage.py makemigrations
python manage.py migrate

這個(gè)過(guò)程會(huì)看到系統(tǒng)在創(chuàng)建數(shù)據(jù)表。

創(chuàng)建好以后再添加總表中的索引字段,首先可以肯定的是model是按照字母順序創(chuàng)建索引的,如果沒(méi)有其他的models.foreignkey,可以直接通過(guò)字母順序來(lái)控制索引的創(chuàng)建順序,如下圖所示:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
@python_2_unicode_compatible
class zz_demo(models.model):
 ab_productline = models.foreignkey(productline, verbose_name=u'產(chǎn)品線',default=1,null=true)
 ac_name = models.charfield(max_length=50, verbose_name = u'故障名稱(chēng)',null=true)
 ......
 bn_casetags = models.charfield(max_length=50, verbose_name = u'關(guān)鍵詞 標(biāo)簽 備注',default=none,blank=true,null=true)
 
 class meta:
 verbose_name = '這是個(gè)demo'
 verbose_name_plural = '這是個(gè)demo'
 
 def __str__(self):
 return self.be_casenumber

這樣創(chuàng)建好的索引就完全是字母順序排列了,小伙伴們可以試試看。

django model 中設(shè)置聯(lián)合約束和聯(lián)合索引

在django model中對(duì)一張表的幾個(gè)字段進(jìn)行聯(lián)合約束和聯(lián)合索引,例如在購(gòu)物車(chē)表中,登錄的用戶(hù)和商品兩個(gè)字段在一起表示唯一記錄。

舉個(gè)栗子:

django model中購(gòu)物車(chē)表

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class cart(models.model):
 user = models.foreignkey(
 myuser,
 verbose_name="用戶(hù)"
 )
 goods = models.foreignkey(
 goods,
 verbose_name="商品"
 )
 num = models.integerfield(
 verbose_name="商品數(shù)量"
 )
 is_select = models.booleanfield(
 default=true,
 verbose_name="選中狀態(tài)"
 )
 
 class meta:
 # 聯(lián)合約束 其中g(shù)oods和user不能重復(fù)
 unique_together = ["goods", "user"]
 # 聯(lián)合索引
 index_together = ["user", "goods"]

unique_together = ["goods", "user"]  表示聯(lián)合約束,其中"goods"和"user"表示不能重復(fù),不能一樣。

index_together = ["user", "goods"] 表示聯(lián)合索引,其中"goods"和"user"聯(lián)合同步查詢(xún),提高效率。

聯(lián)合索引的優(yōu)勢(shì)

示例sql:select * from person where a=100 and b=100 and c=1000;

? 假設(shè)你的數(shù)據(jù)有一千萬(wàn)條 每次條件過(guò)濾 省10%的數(shù)據(jù)

? 1 如果三個(gè)單索引 先拿a的索引找 剩下100萬(wàn)數(shù)據(jù) 然后拿b條件找 剩十萬(wàn) 再c條件找 最后得到一萬(wàn)數(shù)據(jù)

? 2 如果是聯(lián)合索引 他 一千萬(wàn)數(shù)據(jù)*10% * 10% * 10% 直接得到一萬(wàn)條數(shù)據(jù)

? 建立聯(lián)合索引的同時(shí) 還會(huì)給他們之間的組合建立索引

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。

原文鏈接:https://www.000628.com/node/198

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 久久不卡| 一级做a | 91精品久久 | 亚洲小视频 | 97色在线视频| 在线二区 | 国产有码| 免费av大全 | 欧美日韩成人一区二区 | 久草久| 久久中文字幕一区 | 久久中文字幕在线观看 | 成av在线| 亚洲成年人网站在线观看 | 色在线观看视频 | av77| 日韩av在线电影 | 亚洲视频自拍 | 日韩美女av在线 | 国产精品免费观看 | a级片在线观看 | 久久久久99精品 | 色婷婷综合久久久中文字幕 | 免费观看的av | 日韩在线小视频 | 久热免费视频 | 欧美综合一区二区三区 | 成人免费crm在线观看 | 后人极品翘臀美女在线播放 | 国产福利电影在线观看 | 国产成人精品一区二区 | 久久久久成人精品免费播放动漫 | 精品黄色一级片 | 玖玖精品 | 亚洲a网 | 欧美视频第一页 | 亚洲午夜精品 | 国产亚洲精品久久久久动 | 日韩性视频| 国产成人一级片 | 亚洲一区二区三 |