title: DRF many-to-one reverse lookup
body: <p>I have an API endpoint returning pets and their owners.</p>
  
  <ul>
  <li>Each owner has a name and <strong>one or more</strong> pets</li>
  <li>Each pet has a name and <strong>one</strong> owner</li>
  </ul>
  
  <p>Example Django models:</p>
  
  <pre><code>class Owner(models.Model):
      name = models.CharField(max_length=200)
  
  class Pet(models.Model):
      owner = models.ForeignKey(Owner, on_delete=models.CASCADE)
      name = models.CharField(max_length=200)
  </code></pre>
  
  <p>I've configured my API to return JSON data like this:</p>
  
  <pre><code>[
      {
          "id": 2,
          "name": "Scotch",
          "owner": {
              "id": 2,
              "name": "Ben"
          }
      },
      {
          "id": 3,
          "name": "Fluffy",
          "owner": {
              "id": 1,
              "name": "Fred"
          }
      },
      {
          "id": 1,
          "name": "Spot",
          "owner": {
              "id": 1,
              "name": "Fred"
          }
      }
  ]
  </code></pre>
  
  <p>Example DRF serializers:</p>
  
  <pre><code>class OwnerSerializer(serializers.HyperlinkedModelSerializer):
      class Meta:
          model = Owner
          fields = ("id", "name")
  
  class PetSerializer(serializers.HyperlinkedModelSerializer):
      owner = OwnerSerializer()
      class Meta:
          model = Pet
          fields = ("id", "name", "owner")
  </code></pre>
  
  <p>While that's all fine and dandy, I'd actually like to have an endpoint that returns a list of owners and their pets. So I'd get this data instead:</p>
  
  <pre><code>[
      {
          "id": 1,
          "name": "Fred",
          "pets": [
              { "id": 1, "name": "Spot" },
              { "id": 3, "name": "Fluffy" }
          ]
      },
      {
          "id": 2,
          "name": "Ben",
          "pets": [
              { "id": 2, "name": "Scotch" }
          ]
      }
  ]
  </code></pre>
  
  <p>How can I achieve that output?</p>