[drf] Converting datetime object to string

Hyeseong·2022년 2월 16일
0

DRF

목록 보기
3/4

바꾸고자 하는 키값: create_time

내용: datetime.datetime.now()의 string이 반환됨.

방법1 : DB에 데이터를 변환해서 넣음

방법2 : 데이터를 꺼내올 때 원하는 포맷("2022-01-11 22:15:49")으로 바꿈

기존 Json 값

{
  "count": 4,
  "next": null,
  "previous": null,
  "results": [
    {
      "id": "co12",
      "name": "조영오",
      "phone_number": "01012345678",
      "sms_noti": 1,
      "create_time": "2021-12-27T09:00:00+09:00"
    },
    {
      "id": "hyes43",
      "name": "김민호",
      "phone_number": "0001000342",
      "sms_noti": 0,
      "create_time": "2021-12-27T09:00:00+09:00"
    },
    {
      "id": "test_user1",
      "name": "이상세",
      "phone_number": "01099124207",
      "sms_noti": 0,
      "create_time": "2021-12-27T09:00:00+09:00"
    },
    {
      "id": "test_user2",
      "name": "김",
      "phone_number": "01012345678",
      "sms_noti": 0,
      "create_time": "2021-12-27T09:00:00+09:00"
    }
  ]
}

해결방법 : settings.py 수정

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

변경 후


{
  "count": 4,
  "next": null,
  "previous": null,
  "results": [
    {
      "id": "xy",
      "name": "오민주",
      "phone_number": "01012345678",
      "sms_noti": 1,
      "create_time": "2022-01-11 22:15:49"
    },
    {
      "id": "hyeseong43",
      "name": "김민호",
      "phone_number": "0001000342",
      "sms_noti": 0,
      "create_time": "2022-02-16 14:34:12"
    },
    {
      "id": "test_user1",
      "name": "이세상",
      "phone_number": "01029324207",
      "sms_noti": 0,
      "create_time": "2021-12-27 09:00:00"
    },
    {
      "id": "test_user2",
      "name": "김",
      "phone_number": "01012345678",
      "sms_noti": 0,
      "create_time": null
    }
  ]
}

참고 : https://stackoverflow.com/questions/43139230/change-datetime-format-django-rest-framework

profile
어제보다 오늘 그리고 오늘 보다 내일...

0개의 댓글