Django модель datetime с временной зоной UTC+1 сохраняется как UTC+0

В моем проекте django есть модель, в которой я храню данные (в поле read_date) с полем DateTime для хранения даты (с часовым поясом):

class Results(models.Model):
    id = models.AutoField(primary_key=True)
    device = models.ForeignKey(Device, null=True, on_delete=models.SET_NULL)
    proj_code = models.CharField(max_length=400)
    res_key = models.SlugField(max_length=80, verbose_name="Message unique key", unique=True)
    read_date = models.DateTimeField(verbose_name="Datetime of vals readings")
    unit = models.ForeignKey(ModbusDevice, null=True, on_delete=models.SET_NULL)

я установил в файле settings.py временную зону:

TIME_ZONE = 'UTC+1'

USE_TZ = True

Итак, проблема в том, что когда я передаю исправленное форматированное ditetime с часовым поясом UTC+1 в виде:

2021-11-12 10:39:59.495396+01:00

в моей базе данных я получаю:

2021-11-12 9:39:59.495396+00

Почему мое хранимое значение UTC+0 вместо использования переданного часового пояса?

Заранее большое спасибо

Все даты-время хранятся в UTC. Это не ошибка, а особенность. Базе данных нужен один формат для обработки данных DateTime при сортировке, выборе, фильтрации и т.д. Поэтому, когда вы делаете некоторые SQL-запросы, вы можете передать нужный часовой пояс для автоматической конвертации. Например, ваш первый пользователь в UTC+1 и вы можете делать запросы, используя этот параметр, другой пользователь UTC-9, и результаты могут быть другими.

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