In Django documentation for setting timezone, the list of available choices for timezone are actually postgres timezone parameter strings. So it seems Django uses Postgres for retrieving time.
If so, then the problem is that IST is used to denote both Indian & Israel Standard Time, but postgres uses IST for Israel Standard Time (potentially confusing over a 6th of world's population) and there is NO timezone string for Indian Standard Time.
Not just that, Postgres also misses timezone for some other countries like Nepal (GMT+5:30) and some Pacific Islands.
So, is there any way by which I can set custom timezone string (like GMT+5:30 for India, GMT+5:45 for Nepal, etc.) in Postgres or Django?
For India:
For Nepal:
To set the time zone for the whole session:
To reset it (to the time zone set in postgresql.conf:
Find more in the system views
pg_timezone_names
andpg_timezone_abbrevs
PostgreSQL manual about
AT TIME ZONE
construct. About time zones.