Часовые пояса в Django. Foreign Key в формах

Делаю сайт, на котором будут заходить люди с разных стран, и у них разные часовые пояса. Каждый человек может создавать записи, и в каждой записи пользователь указывает дату и время создания. Как сделать так, что бы время создания у всех пользователей отображалось корректно? Допустим, человек с UTC+2 создает запись и указывает время 20:00. А у человека с UTC+3 показывается созданная запись с указанным временем 21:00.

Как я понял(наверное не правильно) по документации Django автоматически должен перевести указанное время в UTC и отображать все верно, если USE_TZ установлено True. Но у меня почему-то оно не переводится. Сохраняется в том времени, которое указал пользователь, и всем другим пользователям отображается такое же время.

Для сохранения времени я использую формы Django, поле даты указал в:

date_of = forms.CharField(widget=forms.DateInput(attrs={"type": 'datetime-local'}), initial=datetime.date.today(),
                              label='Дата операции')

В модели использую:

date_of = models.DateTimeField(verbose_name='Дата операции')

Второй вопрос, у меня есть модель, в которой указано поле Foreign Key к User. Какой способ лучше всего подойдет для того, что бы при создании записи, автоматически в это поле заносить авторизованного пользователя. Поле:

user = models.ForeignKey(to='User', on_delete=models.CASCADE, verbose_name='Пользователь')

В view использую класс, который наследуется от CreateView

Вернуться на верх