use django-timezones like this:
name = models.CharField(u City', max_length=30)
timezone = TimeZoneField(u 'timezone')
And then, knowing the current time in the city, you need to carry out any calculations — instead of just datetime.now() to use something like self.city.now().
All the extra bells and whistles of django-timezones seem not very useful not figured out how to use them can — there the devil is in the details, as usual. Additional calculations can be performed using the standard datetime or (and) third-party dateutil.