      def test_primary_key_foreign_key_types(self):
          # Check Department and Worker (non-default PK type)
          d = Department.objects.create(id=10, name="IT")
          w = Worker.objects.create(department=d, name="Full-time")
          self.assertEqual(six.text_type(w), "Full-time")
  
      def test_broken_unicode(self):
          # Models with broken unicode methods should still have a printable repr
          b = BrokenUnicodeMethod.objects.create(name="Jerry")
          self.assertEqual(repr(b), "<BrokenUnicodeMethod: [Bad Unicode data]>")
 
</s> remove         self.assertIs(type(a.misc_data), six.text_type)
 </s> add  </s> remove         # Empty strings should be returned as Unicode
 </s> add         # Empty strings should be returned as string </s> remove             lists = [[six.text_type(r) for r in b.read_by.all()] for b in author.books.all()]
 </s> add             lists = [[str(r) for r in b.read_by.all()] for b in author.books.all()] </s> remove             lists = [[[six.text_type(r) for r in b.read_by.all()]
 </s> add             lists = [[[str(r) for r in b.read_by.all()] </s> remove             lists = [[[six.text_type(r) for r in b.read_by.all()]
 </s> add             lists = [[[str(r) for r in b.read_by.all()]
        self.assertEqual(str(w), "Full-time")
      def test_primary_key_foreign_key_types(self):
          # Check Department and Worker (non-default PK type)
          d = Department.objects.create(id=10, name="IT")
          w = Worker.objects.create(department=d, name="Full-time")
        self.assertEqual(str(w), "Full-time")
  
      def test_broken_unicode(self):
          # Models with broken unicode methods should still have a printable repr
          b = BrokenUnicodeMethod.objects.create(name="Jerry")
          self.assertEqual(repr(b), "<BrokenUnicodeMethod: [Bad Unicode data]>")
keep keep keep keep replace keep keep keep keep keep
 Refs #23919 -- Removed six.<various>_types usage

Thanks Tim Graham and Simon Charette for the reviews. 
tests/model_regress/tests.py