본문 바로가기

REST framework3

[Django-REST] Exception Handler RestFramework에서 자동으로 API 함수에서 Exception이 발생하면 Exception Handler에서 처리할 수 있도록 settings에서 조건을 줄 수 있다. 보통 코드에서 exception을 처리하기 위해서 try ~ exception을 사용한다. try: ... code detail except Exception as e: print(e) return Response(status=status.HTTP_500_INTERNAL_SERVER_ERROR) 하지만, 위와 같은 코드로 작성하면 코드의 복잡도가 높아지고 reading이 힘들어진다.Custom exception handlingDjango RestFramework에서는 Exception Handler를 settings에서 자동으로 .. 2016. 10. 19.
[REST] Nested relationships Nested relationshipsNested relationsips는 serializers 자체를 serializer 필드로써 사용하는 방법이다.만약, serializer를 리스트 파라미터로 받고 싶은 경우, 필드를 추가할 때 many=True를 추가하면 된다.Example: class TrackSerializer(serializers.ModelSerializer): class Meta: model = Track fields = ('order', 'title', 'duration') class AlbumSerializer(serializers.ModelSerializer): tracks = TrackSerializer(many=True, read_only=True) class Meta: model =.. 2016. 10. 11.
[REST Framework] extra()를 사용한 AS serializer 필드 등록 이 페이지는 Django, REST Framework의 Class based API인 ViewSet을 사용하는 것을 기반으로 설명하고 있습니다. 장고 모델에 있는 컬럼을 AS 를 이용하여 다른 변수를 추가하여 표현하고 싶을 때, 장고의 extra()를 사용하면 SQL의 AS로 치환된다. SELECT SUBSTRING(da_date, 1, 4) AS year, da_date FROM test_table; 위와 같이 da_date라는 컬럼의 값을 substring()을 이용하여 year라는 값을 추가하고 싶다. 이럴 경우, queryset의 extra()함수를 사용하면 된다.views.py TestTable.objects.all().extra( select={'year':'SUBSTRING(da_date, .. 2016. 10. 10.