All Articles

TIL&TEL 21.10.18~21.10.24

TIL( Today I Learned)

21-10-18 월

  • 로그인 URL / menu 작업하기

    • 들어오는 data 확인하기
    • menu data import
    • 데이터 양식 만들기
  • Response wrapper 만들기

21-10-19 화

  • 로그인 URL / menu 작업하기
  • Response wrapper 만들기
  • 포스트맨 문서 컬렉션 만들기

    • 샘플 셋 만들어 보기
  • django orm mapping model 동작 확인
  • 엑셀 업로드 마무리 짓기

    • GCP storage

21-10-20 수

  • 중복되는 값들 처리 어떻게 하지? 신경 안쓴다.

    • 이번에 세부 구현 없이 값 뿌려준다.
  • 데이터 import 할 값 SQL 문 만들기

21-10-21 목

  • Dev DB migration
  • precommit 적용하기
  • wsgi

21-10-22 금

  • 엑셀 파일 업로드 구현하기
  • 레디스 셀러리
  • 샐러리

    • broker와 connenction 맺음
    • django와 시그널 교환이 있는지?

TEL (Trial and Error Log)

21-10-18

  • ERROR: abstract created_at not applied

    • SITUATION:

      • abstract created_at models
    • REASON:

      • class Meta:
        	abstract = True
      • 넣어야지만 동작한다.
    • SOLUTION:

      • 위의 코드 추가
      • 단점, abstract로 물려준 코드는 칼럼의 앞자리를 차지한다!!!!!!

        • Common Ancesstor를 만들면 된다.
        • 그리고 Super 의 레벨을 동일하게 만들어 줘야 한다.
        • 그래도 순서는 바뀌지 않는다.
        • 순서를 지켜주려면, 그냥 migration을 한번 하고, 추가 migration 작업을 해줘야 한다.
        • or 커먼 코드와, 추가할 코드를 같이 abstract로 만들고, 상속 받아서 진행한다.
  • ERROR: authapp.UserAdminInviteHistory.user: (models.E006) The field ‘user’ clashes with the field ‘user’ from model ‘authapp.ancestor’.

    • SITUATION: django model migration
    • REASON:

      • class Meta: abstract = True 빼먹었다.
    • SOLUTION:

      • class Meta: abstract = True 추가

21-10-19

  • ERROR: serializers.ModelSerializer data 추출 커스텀

    • SITUATION:

      • Model Serializer custom field inheritance SerializerMethodField
    • REASON:

      • ModelSerializer 에서 Model에 딸린 Field 점검이 먼저 이루어진다
    • SOLUTION:

      • 상속하지 않고, class attr에 지정한다.

21-10-20

  • ERROR: TypeError: string indices must be integers

    • SITUATION: pytest access token fixture 만드는중
    • REASON:

      • response가 dictionary 가 아니고 str 인데 [ ] 를 호출해서 그렇다.
    • SOLUTION:

      • 값 확인후 수정
  • ERROR: empty request.POST

    • SITUATION:

      • django test code 작업
    • REASON:

      • 받은 데이터 data로 처리한다.
    • SOLUTION:

      • request.data < == request.POST
  • ERROR: Parse Error: The server returned a malformed response

    • SITUATION: custom middle ware put very front
    • REASON:

      • security issue
    • SOLUTION:

      • put custom middleware after common middle ware

21-10-21

  • ERROR: Django Rest Framework serializer is ignoring the model instance im trying to serialize

    • SITUATION: django serializer save data include instance
    • REASON:

      • DB 저장이 되고 나서 해야하는데 그러질 않아서
    • SOLUTION:

      • DB 저장을 하고 그 값으로 다시 만들어야 한다. (PK 유효성을 검증한다)
  • ERROR: 1146, “Table ‘testgate.messagehistory’ doesn’t exist”

    • SITUATION:

      • pytest 진행중
    • REASON:

      • migrate 중복해서 진행하다 보니 생긴 이슈
      • Cascade 가 model 삭제로 지우는게 아니라 sql query 로 데이터를 삭제한다
    • SOLUTION:

      • DO_NOTHING <= CASCADE

21-10-22

  • ERROR: 2002, “Can’t connect to MySQL server on ‘127.0.0.1’ (115)

    • SITUATION:

      • docker 내부에서 gunicorn 동작
    • REASON:

      • wsgi.py , wsgi/~ 같은 folder lv 에 있다보니 문제가 생김
    • SOLUTION:

      • del wsgi.py