Итак, я новичок в Django и установил мой часовой пояс как «Азия / Калькутта» и USE_TZ = True в файле настроек. Для даты и времени, которые хранятся в базе данных UTC в базе данных, отображение отображается в моем текущем часовом поясе. Однако для даты и времени, которые хранятся в IST в БД, администратор добавляет +5: 30 для отображения (т. Е. Предполагается, что значения в БД находятся в UTC)
Я хочу найти способ вручную сообщить этим моделям / администраторам, что USE_TZ = False для них.
Я попытался расширить DateTimeField и переопределить функцию get_internal_type для возврата CharField, а не DateTime. Это работает хорошо, а также. Тем не менее, я не понимаю, как это на самом деле работает в фоновом режиме.
class MyDateTimeField(DateTimeField):
def get_internal_type(self):
return "CharField"
class FileUpload(models.Model):
....
....
created_at = models.MyDateTimeField(auto_now_add=True)
updated_at = models.MyDateTimeField(auto_now=True)
Кроме того, в долгосрочной перспективе я немного осторожен с изменениями уровня модели и хочу знать, может ли что-нибудь еще решить эту проблему.