title: AttributeError: can't set attribute
body: <p>I am working on a legacy django project, in there somewhere there is a class defined as follows;</p>
  
  <pre><code>from django.http import HttpResponse
  
  class Response(HttpResponse):
      def __init__(self, template='', calling_context='' status=None):
          self.template = template
          self.calling_context = calling_context
          HttpResponse.__init__(self, get_template(template).render(calling_context), status)
  </code></pre>
  
  <p>and this class is used in views as follows </p>
  
  <pre><code>def some_view(request):
      #do some stuff
      return Response('some_template.html', RequestContext(request, {'some keys': 'some values'}))
  </code></pre>
  
  <p>this class was mainly created so that they could use it to perform assertions in the unit tests .i.e they are not using django.test.Client to test the views but rather they create a mock request and pass that to view as(calling the view as a callable) in the tests as follows</p>
  
  <pre><code>def test_for_some_view(self):
      mock_request = create_a_mock_request()
      #call the view, as a function
      response = some_view(mock_request) #returns an instance of the response class above
      self.assertEquals('some_template.html', response.template)
      self.assertEquals({}, response.context)
  </code></pre>
  
  <p>The problem is that half way through the test suite(quite a huge test suite), some tests begin blowing up when executing the</p>
  
  <pre><code>return Response('some_template.html', RequestContext(request, {'some keys': 'some values'}))
  </code></pre>
  
  <p>and the stack trace is </p>
  
  <pre><code>self.template = template
  AttributeError: can't set attribute 
  </code></pre>
  
  <p>the full stack trace looks something like</p>
  
  <pre><code>======================================================================
  ERROR: test_should_list_all_users_for_that_specific_sales_office
   ----------------------------------------------------------------------
  Traceback (most recent call last):
  File "/Users/austiine/Projects/mped/console/metrics/tests/unit/views/sales_office_views_test.py",   line 106, in test_should_list_all_users_for_that_specific_sales_office
      response = show(request, sales_office_id=sales_office.id)
  File "/Users/austiine/Projects/mped/console/metrics/views/sales_office_views.py", line 63, in show
      "sales_office_users": sales_office_users}))
  File "/Users/austiine/Projects/mped/console/metrics/utils/response.py", line 9, in __init__
      self.template = template
      AttributeError: can't set attribute
  </code></pre>
  
  <p>the actual failing test is</p>
  
  <pre><code>def test_should_list_all_users_for_that_specific_sales_office(self):
      user_company = CompanyFactory.create()
      request = self.mock_request(user_company)
      #some other stuff
  
      #calling the view
      response = show(request, sales_office_id=sales_office.id)
      self.assertIn(user, response.calling_context["sales_office_users"])
      self.assertNotIn(user2, response.calling_context["sales_office_users"])
  </code></pre>
  
  <p>code for the show view</p>
  
  <pre><code>def show(request, sales_office_id):
      user = request.user
      sales_office = []
      sales_office_users = []
      associated_market_names = []
      try:
          sales_office = SalesOffice.objects.get(id=sales_office_id)
          sales_office_users = User.objects.filter(userprofile__sales_office=sales_office)
          associated_market_names = Market.objects.filter(id__in=           (sales_office.associated_markets.all())).values_list("name", flat=True)
          if user.groups.all()[0].name == UserProfile.COMPANY_AO:
              associated_market_names = [market.name for market in sales_office.get_sales_office_user_specific_markets(user)]
          except:
              pass
      return Response("sales_office/show.html", RequestContext(request, {'keys': 'values'}))
  </code></pre>