      }
  
      def __init__(self, queryset, empty_label="---------", cache_choices=False,
                   required=True, widget=None, label=None, initial=None,
                   help_text=None, to_field_name=None, *args, **kwargs):
          if required and (initial is not None):
              self.empty_label = None
          else:
              self.empty_label = empty_label
          self.cache_choices = cache_choices
 
</s> remove                  help_text=None, *args, **kwargs):
 </s> add                  help_text='', *args, **kwargs): </s> remove                  initial=None, help_text=None, *args, **kwargs):
 </s> add                  initial=None, help_text='', *args, **kwargs): </s> remove                  initial=None, help_text=None, *args, **kwargs):
 </s> add                  initial=None, help_text='', *args, **kwargs): </s> remove                  help_text=None, error_messages=None, show_hidden_initial=False,
 </s> add                  help_text='', error_messages=None, show_hidden_initial=False, </s> remove         if help_text is None:
            self.help_text = ''
        else:
            self.help_text = smart_text(help_text)
 </s> add         self.help_text = help_text
                 help_text='', to_field_name=None, *args, **kwargs):
      }
  
      def __init__(self, queryset, empty_label="---------", cache_choices=False,
                   required=True, widget=None, label=None, initial=None,
                 help_text='', to_field_name=None, *args, **kwargs):
          if required and (initial is not None):
              self.empty_label = None
          else:
              self.empty_label = empty_label
          self.cache_choices = cache_choices
keep keep keep keep replace keep keep keep keep keep
 Removed forced typecasting of help_text/label Field arguments

In any case, setting those variables to non-ascii utf-8 bytestrings
is now considered a programming error. 
django/forms/models.py