Как отформатировать DateTimeField в Django Admin по местному времени?
Как отформатировать DateTimeField в Admin в соответствии с местным временем и часовым поясом?
Мои settings.py:
TIME_ZONE = 'Europe/Bratislava'
LANGUAGE_CODE = 'en-us'
USE_I18N = True
USE_L10N = True
USE_TZ = True
Пакет pytz установлен.
модель:
class Material(models.Model):
category = models.ForeignKey(Category, null=True, blank=True)
code = models.CharField(max_length=10)
description = models.CharField(max_length=30, blank=True, null=True)
modified = models.DateTimeField(auto_now=True)
created = models.DateTimeField(auto_now_add=True)
Также попробовал некоторое форматирование даты в настройках, ничего из этого не изменило способ преобразования объекта datetime в строку в отображении списка администратора:
DATETIME_FORMAT = 'd N Y'
DATE_FORMAT = 'd N Y'
В базе данных дата и время хранятся правильно,2012-11-20 08: 57: 15.901341 + 01 ", Но когда отображается в админке, это всегда в UTC.
Я могу подготовить методы в ModelAdmin для обработки формата, но это на самом деле не СУХО, поскольку яМне бы хотелось, чтобы мои админские классы выглядели так:
from django.utils.timezone import localtime
class MaterialAdmin(admin.ModelAdmin):
list_display = ('code', 'modified_local', 'created')
def modified_local(self, row):
return localtime(row.modified)
modified_local.admin_order_field = 'modified'
modified_local.short_description = 'Modified'