All Articles

TIL&TEL 20.12.28~21.01.03

TIL( Today I Learned)

20-12-28 월

  • django

    • serializer query 낭비 살펴보기
    • 3개의 쿼리가 돈다 * 10

      1. id에 해당하는 category 정보 불러오기
      2. category 정보 에 해당하는 qna_refine 정보
      3. id에 해당하는 service tag 불러오기
    • query_set 정렬하기

      1. to_representation 을 활용해서 정렬한다.
    • 시작하는 query_set에서 정렬을 해놓고 시작한다. (이게 더 효율적)
  • Vue

20-12-29 화

  • Django models.py 추가 작업
  • Vue

    • auto_complete 개선
    • 화살표로 선택 가능

      • Arrow + Up Down
    • tag name 말줄임표로 보여주기
    • arrow counter, 동작 없으면 입력, 있으면 별도,
    • chipIitem

      • 초기 태그가 존재할시에 처리
      • 키 겹치면 에러가 발생한다.
      • 999로 초기화?
    • mutliple value return?
    • JavaScript doesn’t support functions that return multiple values. However, you can wrap multiple values into an array or an object and return the array or the object.

20-12-30 수

  • Vue
  • Django

20-12-31 목

  • Django

    • 상태값 변경
  • vue

    • 화면 맞추기

21-01-01 금

  • 전체 데이터 흘러가는 로직 만들기
  • Django

    • Api 정리
  • Vue

    • 화면 맞추기

TEL (Trial and Error Log)

20-12-26

  • ERROR:Reverse query name for ‘Product.product_ingredients’ clashes with field name ‘ProductIngredient.product’.

    • SITUATION: ManyToMany 모델 만드는중
    • REASON: 역참조 필드명을 자동으로 연결하는데, 양쪽에서 ManyToMany 걸고 있었다.
    • SOLUTION: 한쪽에서 지웠다.

20-12-27

  • ERROR:TypeError: list indices must be integers or slices, not str

    • SITUATION: serializer data sorting
    • REASON: data가 nested list 였다.
    • SOLUTION: 상위 호출에서 sort한다.

20-12-29

  • ERROR: 하위 컴퍼넌트에서 추가한 데이터가 상위에서 비어있다.

    • SITUATION: 데이터가 수정이 되서 변경 하고 있는데 새는 구석이 있음
  • REASON: 같은 블록 안에 있어도, 함수가 순서대로 실행이 되지 않는다. 쪼갤수 있으면 최대한 비동기로 실행이 된다

    • SOLUTION: this.$nextThick() 블록안에 넣는다. or Promose Result로 처리한다.
  • ERROR:TypeError: unsupported operand type(s) for +=: ‘set’ and ‘set’

    • SITUATION: set 붙이기
    • REASON: 일반 + 기호가 먹히지 않는다.
    • SOLUTION: set_a.update(set_b) or set_a | set_b or set_a.union(set_b)
  • ERROR:RuntimeError: Set changed size during iteration

    • SITUATION: iteration 돌면서 elements 삭제중
    • REASON: set 순환 도중, 수정 불가능
    • SOLUTION: 별도 데이터 저장해서 차감한다.

20-12-30

  • ERROR:TypeError: ‘NoneType’ object is not iterable

    • SITUATION: set() 안에 None을 넣었다.
    • REASON: set에 들어갈수 있는건 iterable 이다
    • SOLUTION: .get() 으로 값이 있는지 먼저 확인을 하고 진행한다.
  • ERROR:TypeError: this.chipItems.find is not a function

    • SITUATION: 컴퍼넌트 초기 시작부터 에러가 나옴
    • REASON: 초기 props 안주는 걸 전제 했는데 props에 값을 넣고 있었다.
    • SOLUTION: 상위컴퍼넌트에서 props bind 삭제함

20-12-31

  • ERROR:AttributeError: ‘QuerySet’ object has no attribute ‘split’

    • SITUATION: selectrelated( <queryset>) 입력함, 이유? select_related로 가져오는 instance가 prefetch 된 채로 들어오게 하려고
    • REASON: ‘field_name’만 받는다!!!
    • SOLUTION: Prefetch로 연결함

21-01-01

  • ERROR: Unsupported lookup ‘is’ for BigIntegerField or join on the field not permitted.

    • SITUATION: django_filter isnull 조건 추가
    • REASON: 명령어 헷갈림
    • SOLUTION: isnull <== is__null

21-01-02

  • ERROR: (’1111111’,)’ <== 1111111

    • SITUATION: 다른 인스턴스에서 부른 값을 str을 넘겨주는데 tuple 형태로 변형이 되었다.
    • REASON: 저장시에 ’,’ 를 붙여서 넣으면 그렇게 된다.
    • code

      q.val = str,
    • SOLUTION: ’,’ 를 제거한다.