在django model中對一張表的幾個字段進行聯合約束和聯合索引,例如在購物車表中,登入的使用者和商品兩個欄位在一起表示唯一記錄。
django model中購物車表
class cart(models.model):
user = models.foreignkey(
myuser,
verbose_name="使用者"
)goods = models.foreignkey(
goods,
verbose_name="商品"
)num = models.integerfield(
verbose_name="商品數量"
)is_select = models.booleanfield(
default=true,
verbose_name="選中狀態"
)class meta:
# 聯合約束 其中goods和user不能重複
unique_together = ["goods", "user"]
# 聯合索引
index_together = ["user", "goods"]
unique_together = ["goods", "user"] 表示聯合約束,其中"goods"和"user"表示不能重複,不能一樣。
index_together = ["user", "goods"] 表示聯合索引,其中"goods"和"user"聯合同步查詢,提高效率。
示例sql:select * from person where a=100 and b=100 and c=1000;
假設你的資料有一千萬條 每次條件過濾 省10%的資料
1 如果三個單索引 先拿a的索引找 剩下100萬資料 然後拿b條件找 剩十萬 再c條件找 最後得到一萬資料
2 如果是聯合索引 他 一千萬資料*10% * 10% * 10% 直接得到一萬條資料
建立聯合索引的同時 還會給他們之間的組合建立索引
物聯卡接入號 物聯卡apn設定大全
一 物聯網卡不能正常使用,首先你的裝置是否屬於以下幾種問題。1 終端裝置 手機 能支援聯通 電信 移動的4g 3g網路,是否設定了未啟動4g?2 網絡卡是否充值,是否已經正常續費上 是否更換過裝置?必知 物聯卡是先充值,再插卡使用的,所有卡片都不允許更換卡槽,不允許更換裝置,所以在使用時,一定要注意...
C 中的動態聯編和靜態聯編
通常來說聯編就是將模組或者函式合併在一起生成可執行 的處理過程,同時對每個模組或者函式呼叫分配記憶體位址,並且對外部訪問也分配正確的記憶體位址,它是電腦程式彼此關聯的過程。按照聯編所進行的階段不同,可分為兩種不同的聯編方法 靜態聯編和動態聯編。靜態聯編是指在編譯階段就將函式實現和函式呼叫關聯起來,因...
如何在linux centos下設定橋接聯網方式
二 設定虛擬機器系統 以centos為例 將網路介面卡設定為橋接 三 配置ip 都是在命令介面中,圖形介面同理 device eth0 bootproto static broadcast 10.2.20.255 子網廣播位址 hwaddr 00 0c 29 66 76 7c ipaddr 10.2...