title: Django and Timezones: how to render aware datetime as a naive one in template (with pytz)
body: <p>I have those models:</p>
  
  <pre><code>class TimeZone(models.Model):
      name = models.CharField(max_length = 40, unique = True, editable = False)
      def tz(self):
          return pytz.timezone(str(self.name))
  
  class Place(models.Model):
      name = models.CharField(max_length=200)
      timezone = models.ForeignKey(TimeZone)
  
  class PlaceAction(models.Model):
      action_time = models.DateTimeField(blank=True, null=True)
      place = models.ForeignKey(Place, related_name='Stop place')
  
      def save(self, *args, **kwargs):
          place_tz = self.place.timezone.tz()
          if self.action_time:
              self.action_time = place_tz.localize(self.action_time)
          return super(PlaceAction, self).save(*args, **kwargs)
  </code></pre>
  
  <p>My users enter a place and a naive datetime in the form.
  I have the timezone of the place in DB already, so I do not require a timezone from my users. I convert and save this datetime as an aware datetime in DB (I use Postgres).
  The data saves correctly with the correct offset.</p>
  
  <p>When I want to render the data (in an update form for example), Django converts it back to a naive datetime, but uses the settings.py's default timezone (TIME_ZONE = 'UTC').
  I would like to know the best way to convert back the aware datetime to a naive one, using the correct timezone (the one of the Place object). I would rather have the conversion at the model level instead of the template level (I use JQueryUI for the datetime picking, and since the first conversion is done there, I would rather have the reverse conversion at the same place).</p>
  
  <p>A few of my ideas:
  In the model PlaceAction <strong>init</strong>()?
  With a custom manager?</p>
  
  <p>I could not find a best practice in the docs for the reverse conversion to a different timezone than the default one. Is there one?</p>