안녕하세요. 이번 시간에는 django order_by에 대해 알아보겠습니다. foreign key와 annotate와 섞어서 써야 하는 예제는 다음에 보도록 하고요. 간단한 예제 위주로 굴려보겠습니다. 먼저 post에는 아래와 같은 데이터가 들어 있어요. 작성자 user는 User 테이블을 참조하는 foreign key입니다. 먼저, post 사전순으로 올려봅시다. 알파벳 소문자와 공백으로만 이루어져 있고, 아스키 사전순으로 정렬되게끔 세팅했다고 하겠습니다. 그러면 order_by에 "post"를 적어주면 됩니다. 저는 Post에서 "post"의 내용을 기준으로 사전순 오름차순으로 정렬할 것이기 때문입니다. asc입니다. 그러면, 4개의 포스트가 사전순으로 정렬됨을 볼 수 있어요. 반대로 내림차순은 어..
웹 검색 결과
이 글에서는 prefetch_related랑 select_related의 차이를 다루지 않습니다. n+1 problem을 silk 분석 툴로 분석해 보는 것이 목표입니다. 먼저, 이런 상황을 생각해 봅시다. Post가 있습니다. 포스트 전체를 긁어오려고 합니다. 그런데, 잘 생각해 보면, 포스트 정보를 긁어오기 위해서, 작성자의 닉네임 등을 긁어올 겁니다. 그러면, Post에는 User 테이블을 참조하는 FK가 들어갈 겁니다. 대략 이런 구조입니다. post는 22k개가 있고, 유저는 3명이 있습니다. index 요청을 날려서, 이 구문들을 수행해 봅시다. 어떻게 될까요? 22k번 만큼의 쿼리가 날라가게 됩니다. N+1 problem이라고 많이 이야기를 하는데요. silk로 해당 request가 수행되었..
안녕하세요. 이번 시간에는 startswith, istartswith, endswith, iendswith에 대해서 간단하게 알아보겠습니다. 먼저 Post에 있는 데이터는 이러합니다. 문자열이 무엇으로 시작하는지는 startswith 조건을 걸어서 구현할 수 있어요. 예를 들어서, post가 "hi"로 시작하는 것은 어떻게 뽑아내야 할까요? post__startswith="hi"라고 쓴 것을 주목하시면 됩니다. 이것은 "hi"로 시작하는 post를 뽑는 구문입니다. 결과를 보겠습니다. 정확하게, "hi"로 시작하는 포스트가 나왔습니다. 앞에 i를 붙여서 istartswith 조건을 달면, 대소문자 구분 없이 검사해 주는데요. 예를 들어, istartswith="Hi"는 "hi"도 "hI"도 매치가 됩니다..
안녕하세요. 이번 시간에는 django에서 string 조건 검사를 할 때 쓸 수 잇는 contains, icontains, exact, iexact에 대해 간단하게 알아봅시다. 제대로 이해하시려면 collation에 대한 지식도 필요하고, 이 문서를 볼 필요도 있긴 합니다만, 추후에 조금 딥하게 다뤄보도록 하겠습니다. 먼저, 데이터는 이렇게 3개가 있습니다. "hi my name is cho", "nice to mEet you", "nice to meet you" 이렇게 세 개의 포스트가 있습니다. 먼저, icontains는 대소문자 구분 없이 문자열에 "meet"가 들어가는 것을 뽑아줍니다. "m"이나 "M" 등은 아스키 범위 내에 들어가기 때문에, "mEet"가 걸리던, "meet"가 걸리던 mat..
사실 간단한 테스트도 안 해 보고 무작정 이렇게 하면 되겠다고 생각했다가 뚝배기 깨진 적이 몇 번 있었습니다. localStorage하고 sessionStorage도 그 중 하나이니, 간단하게 기록해 두려고 합니다. 먼저 localStorage의 속성에 대해 간단하게 알아보겠습니다. 티스토리의 스토리에 접속해 봅시다. 다음에, 로컬 저장소 탭을 열어보면, 출처가 티스토리 닷컴이라고 되어 있는데요. 여기에, 키 값이 "local"이고, 값이 "test"인 데이터를 저장해 보겠습니다. 이제 새로운 탭을 열어서, 다른 티스토리 닷컴으로 이동해 봅시다. 그러면 로컬 저장소에 키가 "local"이고 값이 "test"인 것이 잘 들어가 있음을 볼 수 있습니다. 이것을 꺼내오기 위해, localStorage의 get..
최근댓글