All Articles

TIL&TEL 20.03.02 ~ 20.03.08

TIL( Today I Learned)

  • 20-03-02 월

    • crawler output 페이지 만들기
  • 20-03-03 화

    • pagination 추가하기
    • 고객 만족도 조사 발표 및 코드 리뷰 시간
  • 20-03-04 수

    • 모델 수정
    • 페이지 네이터 develop
  • 20-03-05 목

    • 콜렉터 쿼리 최적화
    • 페이지네이터 추가
  • 20-03-06 금

    • 크롤러 영역 확장에 따른 파싱 추가
  • 20-03-08 일

    • TIL TEL 정리하기

TEL (Trial and Error Log)

  • 20-03-02

    • sql explain ~ sql 작동을 확인한다.
    • order_by 1옵션만 해도 4.32s 가 걸리는 작업이다. (index 없을시)
    • inner join spend 81s
    • left joun spend 641s
  • 20-03-03

    • manage.py:1: UnorderedObjectListWarning: Pagination may yield inconsistent results with an unordered object_list: <class ‘apps.collector.models.CollectorOutput’> QuerySet.
    • django pagin nation ordered 가 아니라면 문제를 일으킬수 있다
    • queryset 에 order 추가
    • UnboundLocalError: local variable ‘collector_reports’ referenced before assignment
    • 분기처리 문제
    • if 문으로 커버가 안되는 부분 방비가 안되었다.
    • 변수를 None 으로 선언해놓고 값을 추가함.
  • 20-03-04

    • error: unsupported format character ’?’ (0xb098) at index 235
    • SQL 입력 텍스트 내용에 ? 들어가있음
    • (1064, “You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘18·21·28·35·37·42’…26억3931만원씩’,\n ‘뉴스1’,\n ’ at line 4”)
    • 텍스트 내용에 ' 들어가 있음
    • pymysql.err.ProgrammingError: (1064
    • , 잘못 사용
    • pymysql.err.InternalError: (1136, “Column count doesn’t match value count at row 1”)
    • sql db value 잘못 입력함
    • round() 반올림 / Math.ceil( ) 올림/ Math.floor() 내림
  • 20-03-05

    • Django ‘dict’ object has no attribute ‘getlist’
    • django request.POST 는 dict 가 아님, QueryDict 임
    • from django.http import QeuryDic을 써야함.

      • 일반 Dict는 동일한 key 가 존재할 수 없음, 동일한 key 값을 받기 위한 자료구조임.
      • 동일한 key를 입력하면 key의 리스트에 집어넣는다.
    • request.POST = QueryDict(”).copy() request.POST.update(request.session[‘search-profiles-post’])
    • 장고 세션 지우기
    • del request.session[‘value’]