2014-05-09 2 views
1

나는 elasticsearch와 함께 haystack을 사용하고 있습니다. rebuild_index 명령을 사용하여 인덱스 데이터를 작성했습니다. 그러나 객체를 검색하려고하면 다음 오류가 발생합니다 :SearchResult의 데이터베이스에서 개체를 찾을 수 없습니다. django haystack

"개체를 SearchResult에 대해 데이터베이스에서 찾을 수 없습니다 '(pk = u'118')> ''

데이터베이스에 두 번 체크인 했으므로 레코드가 삭제되지 않았습니다. 그러나 나는 아직도이 오류를 얻고있다.

아무도 도와 줄 수 있습니까?

감사합니다.

답변

2

은 그것이 해결 표시하는 응답은 .

데이터베이스 설정 문제입니다. 다른 환경에 대해 다른 설정 파일을 가지고 있는데 두 파일에서 데이터베이스 구성이 일치하지 않습니다.

+0

좀 더 자세히 설명해 주시겠습니까? 나는 똑같은 문제를 겪고있다 ... –

+0

Chris의 대답 아래에있는 데이터베이스 구성을 확인한다. – nik

+0

답장을 보내 주셔서 감사합니다! 마지막으로 필자는 개발 데이터베이스의 검색 색인 덤프가 프로덕션 데이터베이스 중 하나와 호환되지 않는다는 것을 알게되었습니다. 색인 덤프를 VCS에 포함해서는 안됩니다. –

1

정수가 아니라 문자열로 pk를 검색하는 것처럼 보입니다. 쿼리가 어떻게 생겼는지 알지 못합니다. pk_int을 정의 할 때

는 정수로, 따옴표를 알 수 없습니다 :

pk_int = 118 
Model.objects.get(pk = pk_int) 

는 PK가 포함 된 변수가 이미 문자열을 사용 INT() 인 경우 :

pk_string = '118' 
Model.objects.get(pk = int(pk_string)) 
+0

안녕하세요, 데이터베이스 설정 문제였습니다. 그러나 귀하의 회신에 감사드립니다. – nik

관련 문제