title: Nested API View of Django REST Framework?
body: <p>At the moment I developed the following code, for me to get the Contact List of each user. The views return the ID numbers of the Contacts of the User. I need to get, instead of the ID numbers, the 'name' and 'last_name' attribute of said contacts. I am quite new to Django's REST Framework and I'm not quite sure what to do next but I believe I have to nest the APIView. I would really appreciate some help!</p>
  
  <p>views.py</p>
  
  <pre><code>def list_contacts(request, id_profile):
      url = request.build_absolute_uri(reverse('api_users:contact_list', kwargs={'pk':id_profile}))
      response = requests.get(url)
      profile = Profile.objects.get(pk=id_profile)
      if response.status_code == status.HTTP_200_OK:
          data = response.content
          user = json.loads(data)
          return render(request, 'profiles/contact_list.html', {'user':user})
  </code></pre>
  
  <p>models.py</p>
  
  <pre><code>class Profile(models.Model):
      id_user = models.OneToOneField(User, on_delete=models.CASCADE)
      name = models.CharField(max_length=50)
      last_name = models.CharField(max_length=50)
      birthday = models.DateField(auto_now=False)
      description = models.CharField(max_length=100)
      profile_picture = models.ImageField(upload_to='images/profiles/%Y/%m/%d', blank=False)
      active = models.BooleanField(default = False)
      contacts = models.ManyToManyField('self', blank=True, default='null')
      created_at = models.DateTimeField(default=timezone.now)
      updated_at = models.DateTimeField(default=timezone.now)
      deleted_at = models.DateTimeField(blank=True, null=True)
  
      class Meta:
          ordering = ('-id',)
  
      def __str__(self):
          return self.name+' '+self.last_name
  
      def active_profiles():
          return Profile.objects.filter(active=True)
  </code></pre>
  
  <p>api/views.py</p>
  
  <pre><code>class ContactListView(generics.ListAPIView):
  
  queryset = Profile.objects.all()
  serializer_class = UserContactListSerializer
  filter_backends = (filters.SearchFilter,)
  search_fields = ('name', 'last_name',)
  
  def get(self, request, pk, format=None):
      contacts = Profile.objects.get(pk=pk)
      serializer = UserContactListSerializer(contacts)
      return Response(serializer.data)
  </code></pre>
  
  <p>api/serializers.py</p>
  
  <pre><code>class UserContactListSerializer(serializers.ModelSerializer):
  
      class Meta:
          model = Profile
          fields = ['name','last_name','contacts']
  </code></pre>