카운터를 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..
NULL 로 저장된 필드값을 비교하는 방법이 머였지? DB 마다 다를 수 있으니 잘 챙겨보시고, PostgreSQL 에서의 정답은 IS NULL IS NOT NULL SELECT id, first_name, last_name, email, phone FROM contacts WHERE phone IS NULL; https://www.postgresqltutorial.com/postgresql-tutorial/postgresql-is-null/ PostgreSQL IS NULL Summary: in this tutorial, you will learn how to use the PostgreSQL IS NULL operator to check if a value is NULL or not. Introduc..
LEFT JOIN 해서 테이블을 쫙 보여주고 싶었는데 ORM 의 기본기능으로는 안되는 건가? 일단 급한대로 raw sql을 직접 집어넣는 형태로 구현을 해 놓고 보자. item_list = Parts.objects.raw( "SELECT devices_parts.*, devices_lineparts.quantity \ FROM devices_parts \ LEFT JOIN devices_lineparts \ ON devices_parts.id=devices_lineparts.parts_id AND devices_lineparts.line_id=" + str(line_pk) + " ORDER BY devices_parts.group0_id ASC, devices_parts.group1_id ASC, dev..
일단 안 정보는 적어둬야 한다. SQL는 한번에 하나씩 수행되므로, 하나의 atomic 으로 묶여야 하는 오퍼레이션의 경우에는 처리 방법이 따로 있어야 할 듯 했는데....정답이 있었네 https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=pjok1122&logNo=221609547295 [Python / Django] DetailView, ListView, FormView, Form 활용하기 (오버라이딩, 전달 객체 추가, 인자 추가) 1. DetailView (Template에 추가 데이터 전달하기) DetailView는 queryset이나 model을 전달받고, url... blog.naver.com def clean(self): ..