我有一个使用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"
答案 0 :(得分:2)
我最终制作了custom serializer field并使用时区对象上的区域字段。
if (engSent[x] == ' ' || engSent[x] == ',' || engSent[x] == '.')