안녕하세요. 눈팅회원인데 궁금한점이 있어 질문 드립니다. 장고 모델을 사용하여 일대다 관

 
조준우

안녕하세요.
눈팅회원인데 궁금한점이 있어 질문 드립니다.
장고 모델을 사용하여 일대다 관계인 두 테이블 L과 R 을 조인해서 값을 조회할때 values() 함수를 사용하니 내부적으로 LEFT OUTER JOIN 해서 값을 리턴하던데요.

문제는 R테이블에 관계된 레코드가 2개 이상이라서 그냥 JOIN하게 되면 L테이블의 레코드가 중복으로 셀렉트될때 입니다. 페이징을 해야되서 이럴때 R테이블의 레코드에 제약을 JOIN의 ON 절에 줘서 1:1로 만들어논 다음에 JOIN을 하려고 하니 ON 절에 추가 조건이 들어가야되는데…어떻게 해야할지 막막하고 잘모르겠더군요. filter함수도 만져봤는데 where절에 추가 조건이 들어가서 의도한것처럼 구현이 안되더군요.

QuerySet API reference에 select_related, prefetch_related 두 함수를 읽어봐도 정확이 이런 용도는 아니고요. 그래서 그냥 raw를 써서 쿼리를 바로 날려 해결했는데….먼가 좀 석연찮네요. StackOverflow같은데도 검색해보니 그냥 raw써라 하던데요.

LEFT OUTER JOIN에서 꽤 빈번하게 일어나는 조인 상황인데 이게 구현이 안되어있다는게 좀 이상하기도 하고해서 질문을 드려봅니다.

QuerySet API reference를 읽어본바로는 OnetoMany 이긴 하지만 그냥 ManytoMany로 필드를 만들고 prefetch_related를 써서 R테이블의 내용을 캐쉬시켜서 메모리에 올린상태에서 어떻게 해보거나 아니면 그냥 L테이블에 레코드가 늘어나더라도 이렇게 해서
페이징을 제대로 하는 방법이 있거나…등으로 추측해볼 수 있는데
어떻게 처리해야 하는지 문의드립니다.

이걸로 저의 강의아닌 Django 학습노트, Djangogo!!!의 한 챕터가 끝났습니다

 
JH Lee

이걸로 저의 강의아닌 Django 학습노트, Djangogo!!!의 한 챕터가 끝났습니다

너무 속도에만 집착하구 진행해서 제 공부공책 정도 수준인 점은 반성하겠습니다

이제 지금까지 진행한 내용을 저 혼자 정리하고 복습하며 약간의 시간을 갖고 다시 다음 챕터를 진행하도록 하겠습니다

다음 챕터는 Enhancing Your Blog with Advanced Features로

•Sending e-mails with Django
•Creating forms and handling them in views
•Creating forms from models
•Integrating third-party applications
•Building complex QuerySets

Django form이 좋다는 이야길 많이 들었는데 다음 챕터에서 다루게 되었네요
그리고 쿼리셋(몰라 뭐야 그거 무서워…)…

다음 챕터 시작하기 전에 데이터베이스 기초 공부를 하고 들어가야겠네요

그럼 다음챕터부터는 강의 및 강좌 수준으로 포스트를 제작할 수 있지 않을까요???

그럼 모두 다함께 Djangogo!!!

http://djangogo.tistory.com/entry/Djangogo-Building-a-Blog-Application-%EC%B4%9D%EC%A0%95%EB%A6%AC


  • Jonghwa Seo

    같은 책을 스터디 차원에서 정리하시는 분이 있으셨네요. 시작은 했는데 2장 정리하다가 중지 상태입니다;;; ㄷㄷㄷ

    https://wikidocs.net/book/696

세션관리로 장고의 기본인 데이터베이스로 세션을 사용하고 있습니다. 그런데 logout(re

 
김동진

세션관리로 장고의 기본인 데이터베이스로 세션을 사용하고 있습니다.
그런데 logout(request)를 하면 데이터베이스의 django_session테이블에서 세션row가 정상적으로 사라질때가 있고 그러지 못하는때가 있는데 이거 무슨 변덕일까요? ㅠㅠ
서버도 껐다켜보고 구글링해서 clearsessions도 해보고 flush도 해보고 했는데 답이 안나오네요.

안되면 포기하겠는데 되다 안되다 하니 ‘귀신이 고칼로리’네요. ㅠㅠ

  • 공대영

    전에 비슷한 일을 겪은 기억이 나는데 혹시 세션기간이 만료되고나서 로그아웃을 했다던지 그런건 아닐까요? 없어지긴 하는데 안없어지는것들도 있더라구요. 정기적으로 삭제를 하면되기야 하지만 찝찝해서..

Djangogo!!! 8-2편입니다 이걸로 기본적인 기능을 하는 블로그를 Django를 통

 
JH Lee

Djangogo!!! 8-2편입니다
이걸로 기본적인 기능을 하는 블로그를 Django를 통해서 만드는
싸이클을 한번 진행해봤습니다

다음 Djangogo 9편은 챕터1의 블로그를 만드는 동안 쓰였던 코드들의 결과물을 제가 만든것이 아닌 Sunitha Packt 에서 제공하는 소스코드로 정리해서 올리겠습니다

Djangogo!!!

django에서 tables2를 이용하여 개발 해보신 분 계신가요? 데이터값을 브라우저상에

 
고요한

django에서 tables2를 이용하여 개발 해보신 분 계신가요?
데이터값을 브라우저상에서 수정하거나 기록하여 저장하고 싶은데 혹시
예제 없을까요?


  • Woojing Seok

    음…. 원하시는 답이 아닐것 같기는 합니다만 django admin을 사용하면 그냥 list_editable 를 설정하는것만으로 원하시는 동작을 합니다.

Djangogo!!! 8-1편입니다 구체적은 URL패턴과 뷰 작성을 해보았습니다 디테일

 
JH Lee

Djangogo!!! 8-1편입니다

구체적은 URL패턴과 뷰 작성을 해보았습니다

디테일 뷰는 분량이 너무 길어져서 8-2에서 계속하겠습니다

8-2에서 9편정도 되면 아마 기본적인 블로그 생성은 마무리 될 것 같네요

그럼 모두 Djangogo!!!

  • 박재유

    꾸준히 연구하시면서 포스팅하시네요 멋집니다!!