          """
          # Need a double
          with self.assertNumQueries(3):
              author = Author.objects.prefetch_related('books__read_by').get(name="Charlotte")
              lists = [[six.text_type(r) for r in b.read_by.all()] for b in author.books.all()]
              self.assertEqual(lists, [["Amy"], ["Belinda"]])  # Poems, Jane Eyre
  
      def test_foreign_key_then_m2m(self):
          """
          A m2m relation can be followed after a relation like ForeignKey that
 
</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()] </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 a.first_book.read_by.all()]
 </s> add             lists = [[str(r) for r in a.first_book.read_by.all()] </s> remove     if isinstance(relation, six.string_types):
 </s> add     if isinstance(relation, str):
            lists = [[str(r) for r in b.read_by.all()] for b in author.books.all()]
          """
          # Need a double
          with self.assertNumQueries(3):
              author = Author.objects.prefetch_related('books__read_by').get(name="Charlotte")
            lists = [[str(r) for r in b.read_by.all()] for b in author.books.all()]
              self.assertEqual(lists, [["Amy"], ["Belinda"]])  # Poems, Jane Eyre
  
      def test_foreign_key_then_m2m(self):
          """
          A m2m relation can be followed after a relation like ForeignKey that
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/prefetch_related/tests.py