title: Django models __unicode__: How to return a value containing localized datetimes?
body: <p>I have a localized Django App, localisation works well and the configuration is ok…</p>
  
  <p>For forms needs, I use <code>__unicode__</code> method for model to render ModelChoiceFields, but how do I format localized date in the unicode return?</p>
  
  <p>In this method I have no access to current timezone, how to display my TimeSpanList correctly to my users? Currently, it displays UTC. I tryed <code>django.template.defaultfilters.date</code> and Simon Charette's <code>django.utils.formats.localize</code> which didn't helped as they probably lacked contextual data…</p>
  
  <pre><code>class TimeSpan(models.Model):
      start = models.DateTimeField(_("start"))
      end = models.DateTimeField(_("end"))
  
      def __unicode__(self):
          return u"from UTC:{0} to UTC:{1}".format(self.start, self.end)
  
  class TimeSpanChooserForm(forms.Form):
      time_span = forms.ModelChoiceField(
          label=_("time span"), queryset=TimeSpan.objects.all())
  
      def __init__(self, *args, **kwargs):
          self.request = kwargs.pop("request", None)
          super(TimeSpanChooserForm, self).__init__(*args, **kwargs)
  </code></pre>
  
  <p>How to know current locale without current request object to localize those datetimes? (If there is a way)</p>
  
  <p>note: to me <code>__unicode__</code> seems like the only way to display entries in ModelChoiceField.</p>
  
  <p>note 2: to me,  Yuji 'Tomita' Tomita comment is the best current answer but it lacks a usable exemple…</p>