Как фильтровать ManyToMany по ForeignKey используя третью модель?
Не могу понять как сделать отображение доступных к покупке сервисных наборов основываясь на уже купленных оборудованиях.
Допустим пользователь купил оборудование и после этого ему открываются к покупке сервисные наборы для данного оборудования. Сервисный набор по ManyToMany может принадлежать к нескольким оборудованиям из базы товаров и имеет по 3 набора к ним. Уже купленные товары привязываются ForeignKey к базе товаров, пользователь может несколько раз купить один и тоже товар
class Storage(models.Model):
name = models.CharField('Наименование', max_length=100)
desc = models.TextField('Описание')
...
def __str__(self):
return self.name
class Meta:
verbose_name = 'База товаров'
class Orders(models.Model):
equipment = models.ForeignKey(Storage, on_delete=models.CASCADE)
user = models.ForeignKey(User, on_delete=models.CASCADE,)
...
def __str__(self):
return self.id
class Meta:
verbose_name = 'Покупки'
class ServiceKit(models.Model):
name = models.CharField('Наименование', max_length=100)
equipments = models.ManyToManyField(Storage)
...
def __str__(self):
return self.name
class Meta:
verbose_name = 'Сервисные наборы'