title: coercing to Unicode: need string or buffer, NoneType found when rendering in django admin
body: <p>I have this error since a long time but can't figure it out :</p>
  
  <p><strong>Caught TypeError while rendering: coercing to Unicode: need string or buffer, NoneType found</strong></p>
  
  <p>It happens in admin when I try to add or modify on one of my models (display works fine)</p>
  
  <p>This is the model:</p>
  
  <pre><code>class PS(models.Model):
      id_ps = models.IntegerField(null=True)
      client = models.ForeignKey(Client, null=True, blank=True)
      nom_du_site = models.CharField(max_length=250)
      rue_livraison = models.TextField(null=True)
      complement_adresse = models.TextField(null=True)
      code_postal_livraison = models.CharField(max_length=50, null=True)
      ville_livraison = models.CharField(max_length=200, null=True)
      pays_livraison = models.CharField(max_length=200, null=True)
      distributeur = models.CharField(max_length=50, null=True)
      tarif = models.CharField(max_length=250, null=True)
      type_tarif = models.CharField(max_length=50, null=True)
      type_installation = models.CharField(max_length=50, null=True)
  
      def __unicode__(self):
          return self.nom_du_site
  
      @property
      def pce(self):        
          try:
              return PCE.objects.filter(ps=self)[0]
          except IndexError:
              return
      #    
      def get_pce(self):
          from pce.models import PCE
          return PCE.objects.filter(ps=self).exclude(frequence='6M')
      #
      def get_pce_6m(self):
          from pce.models import PCE
          return PCE.objects.filter(ps=self,frequence='6M') 
  </code></pre>
  
  <p>Any idea what am i doing wrong here?</p>
  
  <p><strong>Traceback:</strong></p>
  
  <pre><code>    Environment:
  
      Request Method: GET
      Request URL: http://127.0.0.1:8026/admin/ps/ps/add/
      Django Version: 1.2.5
      Python Version: 2.7.2
      Installed Applications:
      ['django.contrib.auth',
       'django.contrib.contenttypes',
       'django.contrib.sessions',
       'django.contrib.sites',
       'django.contrib.messages',
       'django.contrib.admin',
       'easy_thumbnails',
       'django_extensions',
       'contentadmin',
       'south',
       'sentry',
       'sentry.client',
       'indexer',
       'file_uploader',
       'paging',
       'pagination',
       'consommation',
       'ps',
       'pce',
       'profil',
       'analytics',
       'document']
      Installed Middleware:
      ('annoying.middlewares.StaticServe',
       'django.middleware.common.CommonMiddleware',
       'django.contrib.sessions.middleware.SessionMiddleware',
       'django.middleware.csrf.CsrfViewMiddleware',
       'django.contrib.auth.middleware.AuthenticationMiddleware',
       'django.contrib.messages.middleware.MessageMiddleware',
       'pagination.middleware.PaginationMiddleware')
  
  
      Template error:
      In template /usr/local/lib/python2.7/dist-packages/django/contrib/admin/templates/admin/includes/fieldset.html, error at line 19
         Caught TypeError while rendering: coercing to Unicode: need string or buffer, NoneType found
         9 :             {% for field in line %}
  
  
         10 :                 &lt;div{% if not line.fields|length_is:'1' %} class="field-box{% if not field.is_readonly and field.errors %} errors{% endif %}"{% endif %}&gt;
  
  
         11 :                     {% if not line.fields|length_is:'1' and not field.is_readonly %}{{ field.errors }}{% endif %}
  
  
         12 :                     {% if field.is_checkbox %}
  
  
         13 :                         {{ field.field }}{{ field.label_tag }}
  
  
         14 :                     {% else %}
  
  
         15 :                         {{ field.label_tag }}
  
  
         16 :                         {% if field.is_readonly %}
  
  
         17 :                             &lt;p&gt;{{ field.contents }}&lt;/p&gt;
  
  
         18 :                         {% else %}
  
  
         19 :                              {{ field.field }} 
  
  
         20 :                         {% endif %}
  
  
         21 :                     {% endif %}
  
  
         22 :                     {% if field.field.field.help_text %}
  
  
         23 :                         &lt;p class="help"&gt;{{ field.field.field.help_text|safe }}&lt;/p&gt;
  
  
         24 :                     {% endif %}
  
  
         25 :                 &lt;/div&gt;
  
  
         26 :             {% endfor %}
  
  
         27 :         &lt;/div&gt;
  
  
         28 :     {% endfor %}
  
  
         29 : &lt;/fieldset&gt;
  
  
      Traceback:
      File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py" in get_response
        100.                     response = callback(request, *callback_args, **callback_kwargs)
      File "/usr/local/lib/python2.7/dist-packages/django/contrib/admin/options.py" in wrapper
        288.                 return self.admin_site.admin_view(view)(*args, **kwargs)
      File "/usr/local/lib/python2.7/dist-packages/django/utils/decorators.py" in _wrapped_view
        76.                     response = view_func(request, *args, **kwargs)
      File "/usr/local/lib/python2.7/dist-packages/django/views/decorators/cache.py" in _wrapped_view_func
        78.         response = view_func(request, *args, **kwargs)
      File "/usr/local/lib/python2.7/dist-packages/django/contrib/admin/sites.py" in inner
        190.             return view(request, *args, **kwargs)
      File "/usr/local/lib/python2.7/dist-packages/django/utils/decorators.py" in _wrapper
        21.             return decorator(bound_func)(*args, **kwargs)
      File "/usr/local/lib/python2.7/dist-packages/django/utils/decorators.py" in _wrapped_view
        76.                     response = view_func(request, *args, **kwargs)
      File "/usr/local/lib/python2.7/dist-packages/django/utils/decorators.py" in bound_func
        17.                 return func(self, *args2, **kwargs2)
      File "/usr/local/lib/python2.7/dist-packages/django/db/transaction.py" in _commit_on_success
        299.                     res = func(*args, **kw)
      File "/usr/local/lib/python2.7/dist-packages/django/contrib/admin/options.py" in add_view
        909.         return self.render_change_form(request, context, form_url=form_url, add=True)
      File "/usr/local/lib/python2.7/dist-packages/django/contrib/admin/options.py" in render_change_form
        692.         ], context, context_instance=context_instance)
      File "/usr/local/lib/python2.7/dist-packages/django/shortcuts/__init__.py" in render_to_response
        20.     return HttpResponse(loader.render_to_string(*args, **kwargs), **httpresponse_kwargs)
      File "/usr/local/lib/python2.7/dist-packages/django/template/loader.py" in render_to_string
        186.     return t.render(context_instance)
      File "/usr/local/lib/python2.7/dist-packages/django/template/__init__.py" in render
        173.             return self._render(context)
      File "/usr/local/lib/python2.7/dist-packages/django/template/__init__.py" in _render
        167.         return self.nodelist.render(context)
      File "/usr/local/lib/python2.7/dist-packages/django/template/__init__.py" in render
        796.                 bits.append(self.render_node(node, context))
      File "/usr/local/lib/python2.7/dist-packages/django/template/debug.py" in render_node
        72.             result = node.render(context)
      File "/usr/local/lib/python2.7/dist-packages/django/template/loader_tags.py" in render
        125.         return compiled_parent._render(context)
      File "/usr/local/lib/python2.7/dist-packages/django/template/__init__.py" in _render
        167.         return self.nodelist.render(context)
      File "/usr/local/lib/python2.7/dist-packages/django/template/__init__.py" in render
        796.                 bits.append(self.render_node(node, context))
      File "/usr/local/lib/python2.7/dist-packages/django/template/debug.py" in render_node
        72.             result = node.render(context)
      File "/usr/local/lib/python2.7/dist-packages/django/template/loader_tags.py" in render
        125.         return compiled_parent._render(context)
      File "/usr/local/lib/python2.7/dist-packages/django/template/__init__.py" in _render
        167.         return self.nodelist.render(context)
      File "/usr/local/lib/python2.7/dist-packages/django/template/__init__.py" in render
        796.                 bits.append(self.render_node(node, context))
      File "/usr/local/lib/python2.7/dist-packages/django/template/debug.py" in render_node
        72.             result = node.render(context)
      File "/usr/local/lib/python2.7/dist-packages/django/template/loader_tags.py" in render
        62.             result = block.nodelist.render(context)
      File "/usr/local/lib/python2.7/dist-packages/django/template/__init__.py" in render
        796.                 bits.append(self.render_node(node, context))
      File "/usr/local/lib/python2.7/dist-packages/django/template/debug.py" in render_node
        72.             result = node.render(context)
      File "/usr/local/lib/python2.7/dist-packages/django/template/defaulttags.py" in render
        174.                 nodelist.append(node.render(context))
      File "/usr/local/lib/python2.7/dist-packages/django/template/loader_tags.py" in render
        139.             return self.template.render(context)
      File "/usr/local/lib/python2.7/dist-packages/django/template/__init__.py" in render
        173.             return self._render(context)
      File "/usr/local/lib/python2.7/dist-packages/django/template/__init__.py" in _render
        167.         return self.nodelist.render(context)
      File "/usr/local/lib/python2.7/dist-packages/django/template/__init__.py" in render
        796.                 bits.append(self.render_node(node, context))
      File "/usr/local/lib/python2.7/dist-packages/django/template/debug.py" in render_node
        72.             result = node.render(context)
      File "/usr/local/lib/python2.7/dist-packages/django/template/defaulttags.py" in render
        174.                 nodelist.append(node.render(context))
      File "/usr/local/lib/python2.7/dist-packages/django/template/defaulttags.py" in render
        174.                 nodelist.append(node.render(context))
      File "/usr/local/lib/python2.7/dist-packages/django/template/defaulttags.py" in render
        260.             return self.nodelist_false.render(context)
      File "/usr/local/lib/python2.7/dist-packages/django/template/__init__.py" in render
        796.                 bits.append(self.render_node(node, context))
      File "/usr/local/lib/python2.7/dist-packages/django/template/debug.py" in render_node
        72.             result = node.render(context)
      File "/usr/local/lib/python2.7/dist-packages/django/template/defaulttags.py" in render
        260.             return self.nodelist_false.render(context)
      File "/usr/local/lib/python2.7/dist-packages/django/template/__init__.py" in render
        796.                 bits.append(self.render_node(node, context))
      File "/usr/local/lib/python2.7/dist-packages/django/template/debug.py" in render_node
        72.             result = node.render(context)
      File "/usr/local/lib/python2.7/dist-packages/django/template/debug.py" in render
        91.             output = force_unicode(output)
      File "/usr/local/lib/python2.7/dist-packages/django/utils/encoding.py" in force_unicode
        66.                 s = unicode(s)
      File "/usr/local/lib/python2.7/dist-packages/django/forms/forms.py" in __unicode__
        408.         return self.as_widget()
      File "/usr/local/lib/python2.7/dist-packages/django/forms/forms.py" in as_widget
        450.         return widget.render(name, data, attrs=attrs)
      File "/usr/local/lib/python2.7/dist-packages/django/contrib/admin/widgets.py" in render
        247.         output = [self.widget.render(name, value, *args, **kwargs)]
      File "/usr/local/lib/python2.7/dist-packages/django/forms/widgets.py" in render
        447.         options = self.render_options(choices, [value])
      File "/usr/local/lib/python2.7/dist-packages/django/forms/widgets.py" in render_options
        464.         for option_value, option_label in chain(self.choices, choices):
      File "/usr/local/lib/python2.7/dist-packages/django/forms/models.py" in __iter__
        898.                 yield self.choice(obj)
      File "/usr/local/lib/python2.7/dist-packages/django/forms/models.py" in choice
        904.         return (self.field.prepare_value(obj), self.field.label_from_instance(obj))
      File "/usr/local/lib/python2.7/dist-packages/django/forms/models.py" in label_from_instance
        955.         return smart_unicode(obj)
      File "/usr/local/lib/python2.7/dist-packages/django/utils/encoding.py" in smart_unicode
        39.     return force_unicode(s, encoding, strings_only, errors)
      File "/usr/local/lib/python2.7/dist-packages/django/utils/encoding.py" in force_unicode
        66.                 s = unicode(s)
  
      Exception Type: TemplateSyntaxError at /admin/ps/ps/add/
      Exception Value: Caught TypeError while rendering: coercing to Unicode: need string or buffer, NoneType found
  </code></pre>