次のようなモデルがあります。
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 で同じ名前を持つアイテムの価格の違いを見つける必要があります。私は大きなノーを持っています。ベンダーごとに最大 10,000 個のアイテムになる可能性があるので、これを行う効率的な方法が必要ですか?