我有一个模型如下:
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 个项目的项目,所以需要一种有效的方法来做到这一点?