그냥 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..
레코드가 혹은 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..
카운터를 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..
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..
특정일이나, 특정월에 대한 결과를 필터링 하고 싶을때, 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..
장고에서 쿼리 스트링으로 전달되는 문자열을 수정해서 다시 보내려고 시도하려고 한다. 이런 쿼리스트링이 저장된다는 QueryDict 라는 놈은 변경이 되지 않네. 이걸 다른 객체로 복사하고, 수정/삭제/추가 등의 변경을 한다음 QueryDict.copy() Python 표준 라이브러리의 copy.deepcopy()를 사용하여 객체의 복제를 생성하여 리턴한다. 복제는 변경가능하므로 값을 변경할 수 있다. 출처: https://engineer-mole.tistory.com/121 [매일 꾸준히, 더 깊이:티스토리] 문자열로 변환해서 사용하면 된다. 다시 쿼리 문자열에 대입할 수 없고 걍 문자열 변수로 넘겨주고 템플릿에서 적당히 받아서 다시 처리하자. 내가 사용한 코드는 그냥 참고로 아래에 둔다. s_page ..
redirect 를 하는데 쿼리 스트링을 같이 넘기고 싶을때, 이 간단한 것도 찾아봐야 하나 암튼 reverse 를 이용해서 아래처럼 하면 해결이 된다. return redirect(reverse_lazy("devices:page", kwargs={"pk": pval}) + "?" + request.GET.urlencode()) 참고한 사이트 주소는 여기 https://stackoverflow.com/questions/19784810/redirect-to-a-url-with-query-string-in-django Redirect to a url with query string in Django How can I go to a specific URL with parameters like if I have..
Django 4 버전 이상에서 CSRF 체크하는 부분이 좀 더 엄격하게 되어 있다는 사실을 에러가 나면 알게된다. 이전에 아무 문제 없이 잘 돌았는데, 새로 설치하다 보니 장고가 최신버전으로 설치되고, 잘 동작하던 웹 서비스가 갑자기 CSRF 에러를 발생시키며 404 에러 등을 찍는다....이러면 이렇게 수정하면 된다. https://not-to-be-reset.tistory.com/552 CSRF 토큰 오류 에러 내용 django 에서 DEBUG 옵션을 True로 둔 뒤, POST 요청을 보내면 아래와 같이 에러 내용이 출력된다. 1. 웹 브라우저에서 접속 시 403 error CSRF verification failed. Request aborted 2. django log For.. not-to-b..
로그 기능을 넣기는 해야 겠다. 콘솔로 계속 띄워서 볼 수 는 없으니 미들웨어 기능으로 모든 request 를 로그를 저장해 보자고 맘 먹고 막 찾기 일단 구현된 결과는 아래 참고. 먼저, settings 에 로그 기능에 대한 설정을 해 둬야 한다. 여러군데 참고하는 중 젤 많이 보는 Pybo 게시판 쪽의 글을 가져와서 맞춰서 쓰기로 함 https://wikidocs.net/77522 작성한 코드는 아래와 같다. 아래 코드에서 파일로 저장하는 부분에 주목해서 보세요. (먼저 작업 폴더에 logs 라는 폴더를 수동으로 하나 만들어 둬야 한다) LOGGING = { "version": 1, "disable_existing_loggers": False, "filters": { "require_debug_fal..
regroup 기능을 이용해서 장고 템플릿에서 그룹별로 데이터를 출력하도록 쓰고 있는데, 이놈의 html이란 테이블에서 그룹별로 줄을 하나로 보이게 묶으려니깐 rowspan 이런거 써야 한다. 잘 정리된 글이 있어 일단 참조 https://stackoverflow.com/questions/25998557/grouping-with-rowspan-and-regroup-in-django Grouping with rowspan and regroup in Django I have a many to one relationship in Django: Model A and model B. I need to output a table where the objects are ordered and grouped by nam..
영문으로 된 질문은 Foreign key field value instead of id without nesting schemas? 즉, Schema 만들때 외부키로 연결된 모델의 필드 값을 같이 볼 수 있도록 하는 방법, 그러나 nesting 되기를 원하지 않는다. 그냥 쉽게 하면 nesting으로 되기 때문에 중괄호 안에 또 중괄호가 생겨서 그 값을 가져와야 한다. 그냥 장고 템플릿에서 하는 것 처럼 "외부키__필드명" 이런형태로 막 가져오면 좋으련만 그르케 되지 않네 참고로, nesting 된다는 의미는 아래 결과 값을 참고하면 금방 알 수 있다. dep 밑에 dep 필드 가져오려면 복잡해 지제 { id: 1000, name: 'Some name', dep: { dep: 'Some Text' } }..