2014-12-12 4 views

답변

1

모델을 가져

SELECT column1 FROM TABLE 'my_table' WHERE column2 = 'some text' 

지금까지 내가 잘못된 구문 인이 시도했습니다 예 : column2으로 get()을 사용하고 column1 필드 값을 검색하십시오.

my_table.objects.get(column2='some text').column1 

개체를 찾을 수없는 경우 get()DoesNotExist 예외를 처리하므로 별개로 처리해야합니다. 또한 하나 이상의 객체가 발견되면 MultipleObjectsReturned 예외가 발생합니다. 이는 사전에 생각해 봐야 할 사항입니다.


또는, values()filter()을 사용할 수 있습니다 :이 ValuesQuerySet이 (사전의 목록으로 그것에 대해 생각) 반환

my_table.objects.filter(column2='some text').values('column1') 

.

+0

참고 또한 여러 행이 쿼리와 일치하면'MultipleObjectsReturned' 오류가 발생합니다. 대부분의 경우 이것은 간단하지만이 경우'column2'는 고유 제한 조건을 갖지 않을 수도 있고 여러 값을 리턴 할 수도 있습니다. – knbk

+0

고마워요.이게 제가 –

+0

@knbk를 찾고있는 좋은 지적입니다. 그것에 대해 메모를 달아 드리겠습니다. 고맙습니다! – alecxe

0

밖으로 몇 가지 방법이 있습니다 하나입니다 :

obj = my_table.objects.get(column2="any_item").column1 
+0

감사합니다. 그,하지만 그 column2 = 'anyitem'전체 행을 반환합니다 반면 그 행에 특정 항목, 특히 column1의 내용을 원합니다 –

+0

죄송합니다 내 나쁜 :) 내 대답을 편집 할 것입니다 –

+0

아 그게 더 :) –

관련 문제