using django rest framework to return info by name
<p>I am using Django rest framework  and I create this class to return all the name of project</p>

<pre><code>class cpuProjectsViewSet(viewsets.ViewSet):
  serializer_class = serializers.cpuProjectsSerializer

  def list(self, request):
    all_rows = connect_database()
    name_project = [] 
    all_projects = []
    for item_row in all_rows:
      name_project.append(item_row['project'])
      name_project = list(sorted(set(name_project)))
    for i in range(0, len(name_project)):
      all_projects.append({'project' : str(name_project[i])})

    serializer = serializers.cpuProjectsSerializer(instance=all_projects, many=True)
    return Response(serializer.data)
</code></pre>

<p>my URL is like that  <code>http://127.0.0.1:8000/cpuProjects/</code>  this return all the projects, buy If now I want a particular project, Have I to create a new class?? if I  want to use the same URL ... for example
<code>http://127.0.0.1:8000/cpuProjects/</code> => return all project
<code>http://127.0.0.1:8000/cpuProjects/nameProject</code> => return a particular project.</p>

<pre><code>class cpuProjectsViewSet(viewsets.ViewSet):
  serializer_class = serializers.cpuProjectsSerializer
  lookup_field = 'project_name'

  def retrieve(self, request, project_name=None):
    try:
      opc = {'name_proj' : project_name }
      all_rows = connect_database(opc)
    except KeyError:
        return Response(status=status.HTTP_404_NOT_FOUND)
    except ValueError:
        return Response(status=status.HTTP_400_BAD_REQUEST)
    serializer = serializers.cpuProjectsSerializer(instance=all_rows, many=True)
    return Response(serializer.data)
</code></pre>

<p>Is it possible to do in the same class? I try to use retrieve method but the need an ID of the project, no the name right?   </p>

<p>thanks in advance!</p>