choppaluv / HighTravel

0 stars 0 forks source link

Backend Issues for Iteration 1 and 2 #6

Closed ghost closed 6 years ago

ghost commented 6 years ago

Backend

choppaluv commented 6 years ago
ghost commented 6 years ago

budget model view가 없습니다. url만 추가는 해놓았어요.

ghost commented 6 years ago

/api/expense, /api/diary 이런 화면에서 post? create?은 안되는게 맞나요? /api/trips에서 다 생성할 수 있나요??

choppaluv commented 6 years ago

budget model view 추가했습니다 제가 실수로 ListAPIView로 해놨었네요. ListCreateAPIView로 수정하였습니다

choppaluv commented 6 years ago

@hjbc0921

choppaluv commented 6 years ago

specific trip에 해당하는 각 model을 가져오는 view filter test 완료하였습니다. test한 db도 함께 올려놓았으니 git pull 받아서 아래 주소들에서 직접 확인하실 수 있습니다.

choppaluv commented 6 years ago

view_with_default_users trip id 1번은 view에서 serializer save할 때 users를 request user로 default 값이 없었던 경우이고 serializer save할때 users에서 request user를 자동으로 저장하도록 한 후 test 한 경우가 trip id 2번에 해당합니다. 사진에서처럼 trip 안에 user list로 들어가며 그 안에서 user는 user serializer에 의해 user field가 모두 보이게 됩니다. 제가 실수로 db는 지워버려서 새로 superuser만 create해서 다시 올렸습니다. 저 test한 경우는 db에 포함되어 있지 않으나 새로 생성해보시면 users list에 login한 user가 들어갑니다.

choppaluv commented 6 years ago

@hjbc0921 TripSerializer에서 users field가 UserSerializer(read_only=True, many=True)로 되어있는데 TripDetail view에서 user를 새로 추가하는 put request를 보냈을 때 user를 추가하려면 read_only=True는 빼야하지 않을까요?? trip 생성할 때와 마찬가지로 expense나 diary 새로 생성할 때 spender나 writer도 자동으로 request user로 저장하도록 view에서 설정하였습니다. 이 두 경우에서는 spender나 writer를 수정할 일이 없으니 spender = serializers.ReadOnlyField(source='spender.id') 와 같은식으로 주어도 될 것 같습니다.

ghost commented 6 years ago

@choppaluv

ghost commented 6 years ago

@choppaluv

ghost commented 6 years ago

trip detail 화면 token authen으로 GET까지 확인하였습니다. http GET http://127.0.0.1:8000/api/trips/5/ "Authorization: Token d741b53194..."

2018-05-02 3 42 39

ghost commented 6 years ago

token 값은 다음과 같이 받을 수 있습니다. http POST http://127.0.0.1:8000/api-token-auth/ "username"="admin" "password"="swppadmin"

ghost commented 6 years ago

detail partial update는 http PATCH http://127.0.0.1:8000/api/trips/5/ "Authorization: Token d741b531943db7d1f456af8510..." "id"=5 "title"="test111" 로 가능합니다.

2018-05-02 4 24 57

choppaluv commented 6 years ago

expense, diary detail view에서도 spender, writer만 put, delete할 수 있도록 permission을 추가하였습니다.

ghost commented 6 years ago

iteration2가 마무리되었습니다. 이후 issue 및 discussion은 주제별로 진행될 예정입니다.