                  fields = ('headline', 'pub_date')
  
          f = PartialArticleForm(auto_id=False)
          self.assertHTMLEqual(
              six.text_type(f),
              '''<tr><th>Headline:</th><td><input type="text" name="headline" maxlength="50" required /></td></tr>
  <tr><th>Pub date:</th><td><input type="text" name="pub_date" required /></td></tr>''')
  
          # You can create a form over a subset of the available fields
          # by specifying a 'fields' argument to form_for_instance.
 
</s> remove             six.text_type(f),
 </s> add             str(f), </s> remove             six.text_type(CategoryForm()),
 </s> add             str(CategoryForm()), </s> remove             six.text_type(f),
 </s> add             str(f), </s> remove             six.text_type(CustomFieldForExclusionForm()),
 </s> add             str(CustomFieldForExclusionForm()), </s> remove             six.text_type(f.media),
 </s> add             str(f.media),
            str(f),
                  fields = ('headline', 'pub_date')
  
          f = PartialArticleForm(auto_id=False)
          self.assertHTMLEqual(
            str(f),
              '''<tr><th>Headline:</th><td><input type="text" name="headline" maxlength="50" required /></td></tr>
  <tr><th>Pub date:</th><td><input type="text" name="pub_date" required /></td></tr>''')
  
          # You can create a form over a subset of the available fields
          # by specifying a 'fields' argument to form_for_instance.
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_forms/tests.py