  
  from django.test import TestCase
  from django.utils.translation import ugettext_lazy as _
  
  from rest_framework.exceptions import ErrorDetail, _get_error_details
  
  
  class ExceptionTestCase(TestCase):
  
      def test_get_error_details(self):
 
</s> remove 
        if wait is None:
            self.wait = None
        else:
            self.wait = math.ceil(wait)
            self.detail += ' ' + force_text(ungettext(
                self.extra_detail_singular.format(wait=self.wait),
                self.extra_detail_plural.format(wait=self.wait),
                self.wait
            ))
 </s> add 
from rest_framework.exceptions import (
    ErrorDetail, Throttled, _get_error_details
)
  
  from django.test import TestCase
  from django.utils.translation import ugettext_lazy as _
  
from rest_framework.exceptions import (
    ErrorDetail, Throttled, _get_error_details
)
  
  
  class ExceptionTestCase(TestCase):
  
      def test_get_error_details(self):
keep keep keep keep replace keep keep keep keep keep
 Fix support of get_full_details() for Throttled exceptions (#4627)

Since `str` objects are immutable, appending to existing `str` creates
in fact a new `str` instance.

Thus `ErrorDetail.detail.code` attribute is lost after `str` concatenation operation. 
tests/test_exceptions.py