序列化时区对象

时间:2016-01-16 00:27:46

标签: django

我有一个使用django-timezone-field的时区字段的模型。它在场中存储了一个pytz对象。我希望在回复中收到的是对象的区域instance.timezone_field.zone

使用该字段我正在使用ReadOnlyModelViewSet,并且在发出GET请求时,我收到错误<DstTzInfo 'US/Arizona' LMT-1 day, 16:32:00 STD> is not JSON serializable

为什么我收到错误是有道理的,该对象不是JSON可序列化的。但是,如何将其序列化以使用区域子字段?

要显示对象字段的结构,在shell中我可以通过以下方式获取区域:

obj = MyModel.objects.get(id=1)
obj.timezone.zone
"US/Pacific"

1 个答案:

答案 0 :(得分:2)

我最终制作了custom serializer field并使用时区对象上的区域字段。

if (engSent[x] == ' ' || engSent[x] == ',' || engSent[x] == '.')