200626 TIL

rang-dev·2020년 6월 26일
0

Wecode-TIL

목록 보기
32/79
post-custom-banner

200626 (금)

  • Code Kata 풀기

    • 재귀함수를 이용한 팩토리얼 연산 수행하기
  • Circular Import Error 발생

    • 내가 만들어둔 product_app의 model과 동건님이 만든 user_app의 model에서 서로의 모델을 참조하니 circular import error가 발생했다.
    • 이럴때는 그냥 import한 것을 지워주고 모델을 참조할때 APP_NAME.MODEL_NAME으로 지정해주니 해결되었다.
  • 주문, 장바구니 Session

    • 주문과 장바구니의 데이터를 어떻게 모델링할지에 대한 session이었다.
    • 장바구니는 주문의 상태가 진행형인 것들의 모음일 뿐이지 새로운 테이블을 만들어줄 필요는 없다. 따라서 order테이블에서 status_id를 통해 주문 상태를 변경해주면서 주문을 관리한다.
  • Postman Session

    • 포스트맨의 컬렉션을 통해 API 문서를 쉽게 만들 수 있을뿐만 아니라, return되는 데이터를 프론트에게 쉽고 빠르게 제공 가능하다.
  • Standup Meeting

  • related_name Session

    • ManyToMany, ForeignKey Field에서 역참조를 할때 a.b_set을 사용하지 않고 불릴 이름을 지정해주어 역참조시 좀 더 직관적으로 참조할 수 있다.
    • 모든 경우에 사용한다기보다는 자기참조가 발생했을때 또는 같은 테이블 사이에 연관 테이블이 2개 이상 존재할 때 사용된다.
    • 다대다 관계에서 related_name속성은 ManyToMany Field에 적을 수도 있고 연관테이블의 ForeignKey 속성에 적을수도 있다. 하지만 모든 곳에 적으면 안되고 ManyToMany와 ForienKey들 중 하나에만 속성을 써주어야한다.
      • ForeinKey에 related_name을 써주었을때는 바로 연결되는 테이블의 이름을 설정하는 것이 아니라 ManyToMany에서 지정하는 것처럼 연결되는 양 끝의 테이블의 관계상의 이름을 설정하는 것이다.(이것은 나중에 제대로 확인해보아야 이해가 될 것 같다.)
    • 또한 related_name을 설정할때 클래스 이름을 바로 소문자로 바꾼것은 사용하면 안된다. 그 이름은 이미 사용되고 있기 때문에 다른 이름을 써주어야한다. 만약 클래스 이름이 단수형이면 related_name은 복수형이라던지..
  • merge를 받아내기 위한 끝없는 수정

    • 모델 이름, 필드 이름까지 쉬운게 하나없다😭😭😭
  • DB에 긁어온 데이터 넣기 시작!

    • 크롤링으로 긁어왔던 데이터를 완성된 DB에 넣기 시작했다.👏🏻👏🏻👏🏻

    • 이전에 짰던 Aquery를 보면서 어떻게 분량을 나눠야할지 고민이 많았는데 우리가 3명이니까 1차, 2차, 3차로 나눠서 1차에는 참조만 되는 테이블에 먼저 데이터를 넣고 다음사람에게 넘기면 그 테이블을 참조하는 테이블들에 데이터를 넣는 것이 2차, 최상위의 모델에 데이터를 넣는 것이 3차로 진행되기로 하였다. 나는 1차를 맡았다.

    • 데이터가 제대로 관리되지 않으면 띄어쓰기나 대소문자때문에 같은 데이터임에도 불구하고 다른 데이터로 인식되어 데이터가 계속 불어나게된다. 이렇게 되면 데이터 무결성이 지켜지지 않는다.

    • 긁어온 데이터 중 소재 부분에서 오른쪽에 큰 공백이 포함된 데이터들이 있어서 rstrip()을 이용해서 제거해주었다.

    • 내가 데이터를 넣어서 넘기지 않으면 진행이 안되기 때문에 최대한 완성해서 uploader 파일을 만들어서 넘겼다. 그래도 1차라서 크게 복잡한 것은 없어서 빠르게 할 수 있었다. 마지막 모델이 하나 남긴 했는데 거기에는 내일 넣기로...😴

profile
지금 있는 곳에서, 내가 가진 것으로, 할 수 있는 일을 하기 🐢
post-custom-banner

0개의 댓글