Comment filtrer plusieurs champs plusieurs à plusieurs. par exemple, je l'ai:Django - Filtrage sur plusieurs champs à plusieurs champs
class Category(models.Model):
products = models.ManyToManyField(Product)
...
class Product(models.Model):
shippers = models.ManyToManyField(Shipper)
manufacturer = models.ForeignKey(Manufacturer)
...
Avec produits = Product.objects.filter (category = catégorie) je vais obtenir requête avec la liste des produits de la catégorie. Comment obtenir la liste de tous les expéditeurs possibles pour tous les produits de la catégorie? La deuxième question est comment obtenir toutes les instances de fabricants à partir de cette requête.
Maintenant extraction des fabricants ressemble
manufacturer_ids = products.values_list('manufacturer').distinct()
manufacturers = Manufacturer.objects.filter(id__in=manufacturer_ids)
Mais je crois que cela devrait être mieux Aussi je n'ai aucune idée comment obtenir la liste de tous les expéditeurs possibles de cette requête.