我有一個模型共同項目如下:Django的查詢得到基於屬性
class Item(models.Model):
VENDOR_CHOICES = (
('a', 'A'),
('b', 'B')
)
vendor = models.CharField(max_length=16, choices=VENDOR_CHOICES)
name = models.CharField(max_length=255)
price = models.DecimalField(max_digits=6, decimal_places=2)
現在我有2種數據源,所以我從供應商A的項目和物品從供應商B.
在某些情況下,供應商A可能與供應商B不同,說供應商A有30個項目,供應商B有442個項目,其中只有6個項目是通用的。通用項目被定義爲具有完全相同名稱的項目。
我還需要找到供應商a和供應商b項目中常見項目的價格差異,這意味着供應商a和供應商b中具有相同名稱的項目。我有一個很大的沒有。的項目可能會高達每個供應商10K項目,所以需要一個有效的方法來做到這一點?
從版本1.11開始,django查詢集具有內置的交集和差異方法。我已經添加了它作爲未來參考的答案 –