카운터를 1 증가하고 얼마가 되었는지 다시 쿼리해서 읽어보면 한 쓰레드로 동작하는 경우에는 생각하는 대로 증가한 값을 볼 수 있다. 근데 동시에 4개의 요청이 들어와 있는 상태에서 증가하는 것은 transaction.atomic 머 이런걸로 처리한다 하더라도 다시 쿼리 날려서 읽는 동안 여러놈이 증가를 시켰으면 읽은 값은 내가 증가한 값이 아니라 최종 값이 읽혀져서 문제다. 역시 udpate and get 을 한번에 하는게 좋은데, Django ORM의 update 는 리턴값이 그냥 id 값인듯 하다. 답은 있지 rawquery를 이요하는것. 내가쓰는 DB가 PostgreSQL 이니까 여기에 맞는 https://stackoverflow.com/questions/60026615/how-to-get-and-..
부득이하게 raw query 로 접근하는 경우가 있다. 이때 리턴되는 값은 일반 queryset 하고 좀 다른듯 암튼 필드 접근은 당연히 해야 하니깐, 받은 objs 가 리스트 형태로 저장되어 있어서 iteration 해서 값을 가져와야 되는듯 아래 코드를 참고하자. 당연히 구글링을 찾았지 ㅋㅋ 검색어가 먼지가 중요하지만, https://stackoverflow.com/questions/20325168/how-to-retrive-values-form-rawqueryset-in-django how to retrive values form RawQuerySet in django? my input query is query = "select * from tab1 left join tab2 on tab2.pat..
pymongo 를 쓰니 편리하게 find 함수로 mongo shell 처럼 검색을 할 수 있다. ObjectID로 검색하려니 ObjectID 로 바꾸는 함수가 별도로 필요로 해 보이는데 (원격 쉘 접속으로 명령을 전달하는 것이 아니니깐) 아래와 같은 귀중한 코드를 구할 수 있었다. 좋은 분들이 많다. 꼭 방문해 주세요 https://ssamko.tistory.com/38 [pymongo] ObjectId로 검색하기 mongodb(pymongo)를 사용하다보면 ObjectId로 검색해야 할 일이 종종 생긴다. mongodb shell에서는 간단하게 아래와 같이 호출할 수 있지만 db.getCollection('collection_name').find({'_id':ObjectId('5f6d775c2.. ss..
JQuery 혹은 자바스크립트 에서 사용되는 코드 조각들을 여기에 일단 유용한 것만 모아두자. 참고 - 셀렉트박스 유지를 위한 스크립트 페이지의 쿼리 파라메터를 읽어와서 기존 값을 유지하는 코드 함수, 그대로 가져왔는데 왠만하면 아래 글쓴이 링크로 가서 읽어보세요. (여긴 그냥 제 참고용으로 남겨둡니다. 설명은 원본글에서 읽으세요 ^^;;;) https://wayhome25.github.io/django/2017/03/01/django-99-my-first-project-5/ // get url query string var getUrlParameter = function getUrlParameter(sParam) { var sPageURL = decodeURIComponent(window.locatio..
장고가 느리다는 평가가 많은데, 서비스가 커질 수록 성능에 목숨을 많이 거는 것은 맞다. 이 대단한 Django가 그냥 쳐다보고 있지는 않을 것 같다. 여러가지 cache 기법을 사용해서 속도나 성능을 키워보자. 현재 듣고 있는 장고 강의에 소스에 포함된 내용을 공부할 겸 추려본다 - Django 실전 프로젝트 1 - URL Shortener 서비스 ( 패스트캠퍼스 ) 아래 공식 사이트에서는 여러가지 방법이 소개가 되어 있다. https://docs.djangoproject.com/en/3.2/topics/cache/ Django’s cache framework | Django documentation | Django Django The web framework for perfectionists with..
MongoDB Query 방법 몇개 정리 {serial:{$regex:"^00:08:DC"}} 시리얼이 00:08:DC 로 시작하는 데이터를 검색해라 {serial:{$not:{$regex:"^00:08:DC"}}} 시리얼이 00:08:DC 로 시작하지 않는 데이터를 검색해라 {serial:{$regex:"^00:08:dc",$options:"i"}} 시리얼이 00:08:DC 로 시작하는 데이터를 검색해라. 단, 대소문자 구분은 하지 않는다. {serial:{$not:{$regex:"^00:08:dc",$options:"i"}}} 대소문자 구분 없이 시리얼이 00:08:DC 로 시작하지 않는 데이터를 검색해라 {serial:{$regex:"08:00"}} 시리얼에 08:00 패턴이 있는 것을 검색해라 {..