Рассмотрим следующие модели:
class Product(models.Model):
name = models.CharField(max_length=...)
class Size(models.Model):
name = models.CharField(max_length=...)
products = models.ManyToManyField(Product, through=ProductXSize,
related_name='sizes', related_query_name='size')
class ProductXSize(models.Model):
product = models.ForeignKey(Product, on_delete=models.CASCADE,
related_name='productxsizes', related_query_name='productxsize')
size = models.ForeignKey(Size, on_delete=models.CASCADE,
related_name='productxsizes', related_query_name='productxsize')
То, чего я хотел бы достичь, это:
for p in Product.objects.filter(sizes=[Size.object.get(...)]):
...
То есть найти товары, которые имеют один и тот же размер.