Description

The attached patch attempts to improve Django's support for time zones.

Specifically, it modifies the date and time fields so that they return str(self.data), which will yield an ISO 8601 formatted date, but with a space separator instead of a T. That format will include a time zone offset using the [+-]HH:MM format if the underlying datetime object is not naive. That format is understood by most databases.

It also modifies the function typecast_timestamp from db.backend.util such that it will try to parse time zone offsets. If no such format is found, it will still produce a non-naive datetime object, set in the current time zone.