Home 22/04/22 관통프로젝트, 스터디 발표
Post
Cancel

22/04/22 관통프로젝트, 스터디 발표

220422 Today I learned!


  • 관통프로젝트
  • 스터디 발표
  • 백준 문제 풀이

1. Fact

(1) 관통프로젝트

  • DB 설계를 활용한 REST API 설계
    • 배우, 영화, 리뷰 데이터를 활용하여 REST API를 설계한다
    • 배우: 영화 (M:N 관계) / 영화:리뷰(1:N 관계)
  • 배우 데이터 조회
    • 배우 전체 데이터 조회 (id, name)
    • 특정 배우 조회 (id, name, movies-title)
  • 영화 데이터 조회
    • 영화 전체 데이터 조회 (title, overview)
    • 특정 영화 조회 (id, title, overview, release_data, actors-name, review-title, review-content)
  • 리뷰 데이터 조회, 생서, 수정, 삭제
    • 리뷰 전체 데이터 조회 (title, content)
    • 특정 리뷰 조회 (id, title, content, movie-title)
    • 리뷰 추가
    • 리뷰 삭제
    • 리뷰 수정

(2) 스터디 발표

  • 리액트를 활용한 토이프로젝트
    • 노마드 코더 리액트 강의에서 학습한 내용을 활용하여 웹사이트 제작
  • 프로젝트 주제 선정 이유, 기능 소개 등

(3) 백준 문제 풀이


2. Feeling

오늘도 즐겁게 관통프로젝트에 참여했다. 이번에는 NavigatorDriver의 역할을 잘 나눠서 진행한 것 같다.

스터디 발표에서 좋은 피드백을 많이 받을 수 있었다. 또한, 다른 사람들의 주제를 보면서 나도 많이 배울 수 있었다..(●’◡’●) 하지만 리액트로 내가 생각했던 것을 구현할 수 있을까에 대한 불안감이 한 켠에 있다. 일단 내일부터 조금씩 해야지..


3. Finding

원하는 데이터를 출력하기 위해 클래스 내부에 새로운 클래스를 정의한다.

1:N, N:M 관계의 데이터를 불러올 때 원하는 필드만 적용하기 위해서 클래스 내부에 새로운 클래스를 정의해야 한다. (오버라이드).

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# moveis/serializers/actor.py

from rest_framework import serializers
from ..models import Actor,Movie
from .movie import MovieSerializer


class ActorListSerializer(serializers.ModelSerializer):
    class Meta:
        model = Actor
        fields = ('id','name',)

class ActorSerializer(serializers.ModelSerializer):

    # title만 출력하기 위해 내부에 새로운 클래스 정의
    class MovieSerializer(serializers.ModelSerializer):
        class Meta:
            model = Movie
            fields = ('title',)
	
    # 필드 재정의(override)
    movies = MovieSerializer(many=True, read_only=True)
    
    class Meta:
        model = Actor
        fields = '__all__'
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# moveis/serializers/movie.py

from rest_framework import serializers
from ..models import Movie,Actor, Review

class MovieListSerializer(serializers.ModelSerializer):
    class Meta:
        model=Movie
        fields=('title','overview',)

class MovieSerializer(serializers.ModelSerializer):
	
    class ActorSerializer(serializers.ModelSerializer):
        class Meta:
            model = Actor
            fields = ('name',)
            
    class ReviewSerializer(serializers.ModelSerializer):
        class Meta:
            model = Review
            fields = ('title', 'content',)
            
    # 필드 재정의(override)    
    actors = ActorSerializer(many=True, read_only=True)
    review_set = ReviewSerializer(many=True, read_only=True)
    
    class Meta:
        model=Movie
        fields='__all__'
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# moveis/serializers/review.py

from rest_framework import serializers
from ..models import Review, Movie


class ReviewSerializer(serializers.ModelSerializer):

    class MovieSerializer(serializers.ModelSerializer):
        class Meta:
            model = Movie
            fields = ('title',)

    movie = MovieSerializer(read_only=True)
    
    class Meta:
        model = Review
        fields = '__all__'
        read_only_fields = ('movie',)


4. Future Action & Feedback

Future Action진행 상황Feedback
DOM을 깨우치다in progress 🚀 
강의에서 학습한 flex-website 혼자 제작하기not start 
1일 1알고! 🔥  


This post is licensed under CC BY 4.0 by the author.