2012-08-30 1 views
0

두 테이블, subscriptionsuser_subscription이 있습니다. name 필드에서 subscription의 사용자가 아직 구독하지 않은 항목을 검색 할 수 있기를 원했습니다.django orm 레이어

select e.* 
from subscription e, user_subscription u 
where e.id != u.sub_id and u.user_id = 7 and e.name like '%mic%' 
order by name limit 0,50 

내 질문은 장고 ORM 프레임 워크를 사용하여이 쿼리를 할 수있는 방법이있다 : 나는 아래에 따라 SQL 쿼리를 작성? 나는 subscription 테이블을 제대로 검색 할 수 있습니다. 문제는 사용자가 이미 구독 중이면 그 결과가 표시되기를 원하지 않는다는 것입니다. sub_id 필드가 user_subscription 인 경우 subsciption ID에 매핑되는 외래 키 관계입니다.

+0

모델 파일의 관련 부분을 게시 하시겠습니까? 관계가 어떻게 작동하는지 더 쉽게 이해할 수 있습니다. –

답변

1

예 - 원시 SQL 쿼리를 실행할 수있는 Manager.raw 메서드를 살펴보십시오. 검색어에 Subscription.objects.raw(...)을 사용하고 싶습니다.

+0

그래 .. 지금은 원시 SQL 쿼리를 사용하고 있습니다. 프레임 워크 내에서이를 수행 할 수있는 방법이 있기를 바랬습니다. – KVISH

+0

그렇게하지 않으면 불행히도 SQL이 분명해질 것입니다. – girasquid