그냥 not in 키워드가 있으면 좋은데 https://django-orm-cookbook-ko.readthedocs.io/en/latest/notequal_query.html 4. NOT 연산으로 조건을 부정하려면 어떻게 하나요? — Django ORM Cookbook 2.0 documentation 4. NOT 연산으로 조건을 부정하려면 어떻게 하나요? 장고의 사용자 계정 관리 앱인 django.contrib.auth 를 사용하면 데이터베이스에 auth_user 라는 표가 생성됩니다. 이 표에는 username, first_name, last_name django-orm-cookbook-ko.readthedocs.io 정답은 exclude() filter(~Q()) 필드명__in=[a,b,c] 이런식..
실컷 그룹핑을 해뒀는데, 그룹핑 한 문자열에 총 합을 추가 하려고 하니 그룹 자체의 문자열이 바뀌니 이차저차 고민하던 차에 먼저 그룹핑 다하고, 나중에 Data name을 바꾸는 방법으로 접근하면 되겠다라고 생각했다 그리고, 아래와 같이 처리했다. 장고 코드와 결합해서 사용하려니, 제약이 좀 많다. 암튼 성공 var chart = bb.generate({ // size: { height: 400 }, data: { columns: [ {% for item in result_billboard %}{{ item|safe }},{% endfor %} ], type: "area-spline", // for ESM specify as: areaSpline() groups: [[ {% for item in resu..
간단한 세션 처리 방법을 정리해 두자. 원본 글은 여기 https://www.programink.com/django-tutorial/django-session.html Django Tutorial | Django Session & Login Session Learn Django Session variable and server side caching with this Django Session Tutorial. www.programink.com 예제 샘플은 다음과 같다. 쉽네 request.session["키워드"] 이렇게 쓰고, 읽으면 된다. from django.shortcuts import render from django.http import HttpResponse def setsession(re..
이벤트 함수를 등록해서 쓰고 싶은데, 2가지 방식이 있네 on('change') vs change() 둘다 맞는데, 머 정답이라기 보다는 그냥 on(이벤트, function() {}); 형태로 사용하는 것을 강권합니다. 동적으로 생긴 컴포넌트도 쓸수있도록 하려면 on('change',... 를 쓰라고 하네요. JQuery 클릭 이벤트 on("click") 과 click() 의 차이 JQuery on("click")과 click() on("click") 과 click() 의 차이점은 동적으로 이벤트를 바인딩할 수 있는지의 차이다. on("click")은 동적으로 가능하고 click()은 최초에 선언된 element에만 동작한다. 아래 예.. lookingfor.tistory.com Pexels에서 Karo..
레코드가 혹은 object 가 있는 지 조사할 때 사용되는 method??? exists() 라는 게 있는데 아래 글 처럼 약간 고민해야 되는 부분이 있네요. 체크 이후에 그 오브젝트를 활용할 생각이 있으면 그냥 if obejct: 이렇게 하고 단순히 체크만 하면 exist() 가 조금 유리하다는... https://docs.djangoproject.com/en/4.1/ref/models/querysets/#django.db.models.query.QuerySet.exists QuerySet API reference | Django documentation | Django Django The web framework for perfectionists with deadlines. Overview Downl..
horizontalSpacer 나 verticalSpacer 컴포넌트를 그냥 가져다 놓으면 일정 수준의 사이즈 값이 들어와 있다. 40*20 인가 그랬는데, 그것도 일정 사이즈를 잡고 있는 것 같다. 내가 쓰는 이유는 공란이 생길때 딱 컴포넌트를 모으기 위함이지 스페이서 자체에 길이를 줄 요량이 아니었으므로, 이 부분을 꼭 체크해서 sizeHint 값을 0x0 으로 주도록 한다.
파이썬이란 언어가 엄청 간단하고 쉽다. 그리고 변수도 막 넘기고, 배열, dict, list, 이런것도 대충 막쓴다. 그러다 난 생각이 넘겨주고 받을때 복사되는지 C언어처럼 reference 주소를 넘겨주는 방법이 있는지 등등이 궁금한데... 그냥 쓰다고 좋은 글이 있어 소개 https://eslife.tistory.com/1053 [파이썬] 함수 호출 CALL BY VALUE/CALL BY REFERENCE 파이썬에서 함수 호출 시 call by value/ref 를 설명하는 간단한 예제입니다 1. bool, 문자열, 숫자, 리스트, 딕셔너리를 함수에서 변경했을 때 def testFunc2(bValue, sString, nValue, list, dic): bValue = Tr.. eslife.tisto..
해시코드 (해쉬코드) 머든 생성해보기 파이썬은 머든 어렵지 않네, hashlib 를 import 하고 사용하면 된다. https://docs.python.org/3/library/hashlib.html hashlib — Secure hashes and message digests — Python 3.10.5 documentation hashlib — Secure hashes and message digests Source code: Lib/hashlib.py This module implements a common interface to many different secure hash and message digest algorithms. Included are the FIPS secure hash al..
카운터를 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..
여러 쓰레드에서 접근할 때 막는 방법, 찾아둔 거 저장 합니다. 아래 예제는 flask 에서 gunicorn 으로 proxy 하면 work thread 가 동시에 뜰 수도 있는데, 공유 자원을 lock 해서 한놈만 접근하도록 하는 코드 인듯. https://stackoverflow.com/questions/18213619/sharing-a-lock-between-gunicorn-workers Sharing a lock between gunicorn workers Is there a good way to share a multiprocessing Lock between gunicorn workers? I am trying to write a json API with Flask. Some of the API..
transaction.atomic() 이 중요해서, 하나 저장 https://blog.doosikbae.com/146 Django DB Transaction 2편 - 명시적으로 transaction 활용하기. (feat. savepoint) Introduction 안녕하세요. 1편 Django Transaction(트랜잭션) 1편 - Request와 DB Transaction 묶기(Feat. ATOMIC_REQUESTS) Django Transaction(트랜잭션) 1편 - Request와 DB Transaction 묶기(Feat. ATOMIC_RE.. blog.doosikbae.com # O 추천하는 방법. try: with transaction.atomic(): # dummy query for exa..
아주 간단한 날짜 바꾸기도 검색해야 하다뉘. 좌절이지만 date.replace 함수로 변경이 가능하다 아래 예제를 참고하세요. from datetime import datetime today = datetime.now() newdate = today.replace(year=2022, month=1, hour=11, minute=59) Pexels에서 Karolina Grabowska님의 사진: https://www.pexels.com/ko-kr/photo/4016522/
특정일이나, 특정월에 대한 결과를 필터링 하고 싶을때, Model에서는 datetime 형태의 필드로 저장해 두었다면, 다음 예제를 참고하면 된다. 첨에는 range로 조사해야 되나 생각했는데, 다행히 __month, __year, __day 이런 내장 키워드가 존재하고 있어 다행이다. orderitem_list.filter(date_due__month=cur_month, date_due__year=cur_year) 장고 프로젝트 홈의 문서에서도 찾아 볼 수 있다. https://docs.djangoproject.com/en/4.0/ref/models/querysets/#month QuerySet API reference | Django documentation | Django Django The web..
그냥 기본 rotate 방식의 로깅 처리 RotatingFileHandler를 이용하여 구현해 뒀다. 막상 용량이 차서 파일을 새로 만드는 순간 에러가 발생한다. permission error winerror 32 [winerror 32] 다른 프로세스가 파일을 사용 중이기 때문에 프로세스가 액세스 할 수 없습니다 로깅 처리하는 방법은 아래 글을 참고하고, 2022.05.18 - [Django] - Django - logging middleware 간단 버전 누군가가 쓰고 있다고 파일을 생성해서 처리할 수 없다라고 뜬다. 사용자 코딩이 없는 관계로 약간 당황, 머 그래도 구글링 https://southsandstore.sakura.ne.jp/Programmer/django%E3%81%A7%E3%80%8C..