2017-12-28 68 views
0

저는이 문제를 지금 당장 다루려고 노력해 왔습니다. 가능한 경우 도와주세요 ...Django REST Object에서 날짜 시간 형식 변경

datetime 값 중 하나가 UTC 형식 인 REST 프레임 워크 응답이 있습니다. 이 형식을보다 친숙한 형식으로 변경하고 싶습니다.

나머지 워크 출력 :

{ 
    "data": [ 
     { 
      "id": "1", 
      "start_time": "2017-12-28T12:56:55-08:00", 
     }, 
     { 
      "id": "2", 
      "start_time": "2017-12-28T12:14:10-08:00", 
     }, 
     { 
      "id": "3", 
      "start_time": "2017-12-28T09:37:35-08:00", 
     },   
    ] 
} 

뷰 (디스플레이의 START_TIME 형식을 변경하려면 코드)

serializer = ChangeLogSerializer(changelog['items'], many=True) 
for log in serializer.data: 
    serializer.data[log]['start_time'] = log['start_time'].strftime('%Y-%m-%d %T') 

serializers.py

class ChangeLogSerializer(serializers.ModelSerializer): 
    """Serializer to map the Model instance into JSON format.""" 

    class Meta: 
     """Meta class to map serializer's fields with the model fields.""" 
     start_time = serializers.DateField(format="%y-%m-%d %H:%M:%S") 
     model = ChangeLog 

     fields = ('id', 'sku', 'serial_num', 'mac', 'sw_ver', 
        'state', 'outcome', 'logfile', 'process', 
        'cm', 'site', 'port_num', 'term_srvr', 
        'start_time', 'end_time') 
     read_only_fields = ('start_time', 'end_time') 

관찰 :

  • serializer.data [로그]이 항목을 업데이트하는 올바른 방법이 표시되지 않습니다
  • 는 오류 메시지를 제공합니다 : 파일 "/root/venv/dashbaord/lib/python3.4/을 (JSONncoder, self) .default (obj)
  • 형식을 조정하려면 serializers.py 파일에서 시도하십시오 : start_time = serializers. DateField (형식 = "% y- % m- % d % H : % M : % S") 그러나 아무 것도하지 않습니다.

답변

0

답을 찾았습니다. settings.py 파일에서 변경되었습니다 :

REST_FRAMEWORK = { 
    'DATETIME_FORMAT': "%Y-%m-%d - %H:%M:%S", 
}