title: When to use get, get_queryset, get_context_data in Django?
body: <p>I recently learned that you should override the get method when you specifically want to do something other than what the default view does:</p>
  
  <pre><code>class ExampleView(generic.ListView):
      template_name = 'ppm/ppm.html'
  
      def get(self, request):
          manager = request.GET.get('manager', None)
          if manager:
              profiles_set = EmployeeProfile.objects.filter(manager=manager)
          else:
              profiles_set = EmployeeProfile.objects.all()
              context = {
                  'profiles_set': profiles_set,
                  'title': 'Employee Profiles'
              }
  </code></pre>
  
  <p>That's simple enough, but when should I use <code>get_queryset</code> or <code>get_context_data</code> over <code>get</code>? To me it seems like they basically do the same thing or am I just missing something? Can I use them together? This is a major source of confusion for me.</p>
  
  <p>So to reiterate: In what cases would I use get over <code>get_queryset</code> or <code>get_context_data</code> and vise versa?</p>