title: Return nested/related models with manyToMany relationship through model
body: <p>I have a ManyToMany relationship between <code>Recipe</code> and <code>Product</code>. If I request Recipes, I am able to query also the relating products, but when I request Product, there is no related model data.</p>
  <p>I think this is because the relationship is defined on the Recipe model. How can I query the Recipes related to Product (with the <code>through</code> model info!)? Basically what I want is to query a product and see all recipes that need this product.</p>
  <p>models.py</p>
  <pre><code>class Recipe(models.Model):
      ...
      products_input = models.ManyToManyField(Product, through='RecipeInput', related_name='products_input')
      ...
  
  
  class Product(models.Model):
      ...
  
  class RecipeInput(models.Model):
      recipe = models.ForeignKey(Recipe, on_delete=models.CASCADE)
      product = models.ForeignKey(Product, on_delete=models.CASCADE)
      amount = models.IntegerField()
      ...
  </code></pre>
  <p>serializers.py</p>
  <pre><code>class RecipeInputSerializer(serializers.HyperlinkedModelSerializer):
      product_key = serializers.ReadOnlyField(source='product.key')
      product_name = serializers.ReadOnlyField(source='product.name')
  
      class Meta:
          model = RecipeInput
          fields = (&quot;product_name&quot;, 'amount', 'product_key', )
  
  class RecipeSerializer(serializers.ModelSerializer):
      products_in = RecipeInputSerializer(source='recipeinput_set', many=True)
  
      class Meta:
          model = Recipe
          fields = &quot;__all__&quot;
          depth = 3
  
  class ProductSerializer(serializers.ModelSerializer):
      
      class Meta:
          model = Product
          fields = &quot;__all__&quot;
          depth = 3
  </code></pre>