Я использую django tables2 , которая:
Обратите внимание, что в формате используется синтаксис тега шаблона даты Django.
В соответствии с дата Джанго ISO 8601 выбирается строкой формата 'c':
c ISO 8601 формат: 2008-01-02T10: 30: 00.000123 + 02: 00
Вот что я делаю:
import django_tables2 as tables
...
created = tables.DateTimeColumn(format='c')
Но это не работает (столбец created
в таблице показан пустым, признак проблем с синтаксическим анализом)
Это данные, поступающие от API:
"created": "2018-09-05T14:00:35.672433Z",
, который на самом деле исходит от DRF , который по умолчанию использует:
format - строка, представляющая формат вывода. Если не указано,
по умолчанию используется то же значение, что и ключ настроек DATETIME_FORMAT,
который будет 'iso-8601', если не установлен
Подводя итог, мой вопрос:
Как разобрать iso8601 с таблицами django2?
EDIT
Заполнение таблицы производится следующим образом:
import django_tables2 as tables
from django.utils.translation import ugettext as _
class ExpansionTable(tables.Table):
human = tables.Column()
created = tables.DateTimeColumn(format='c')
size = tables.Column()
description = tables.Column()
output = tables.Column()
class Meta:
attrs = {'class': 'table paleblue'}
order_by = "-created"
Это покажет пустые значения (—
) для столбца created
. Остальные столбцы отображаются, как и ожидалось.