에서 모델하지만 쇼 결과에 페이스 팅하는장고 건초 더미/SOLR : M : 내가 장고의 두 가지 모델이 좋아하는이 단지 외래 키 필드
class Medicine(db.Model):
field_1 = db.CharField()
field_2 = db.CharField()
class Application(db.Model):
field_1 = db.CharField()
field_2 = db.CharField()
medicine = db.ForeignKey(Medicine)
가 1이 (의사 코드) 다음과 같습니다. 한 약은 많은 응용 분야를 가질 수 있습니다.
Application
필드에서 패싯해야하지만 관련된 Medicine
개체 만 표시해야합니다. SQL에서 DISTINCT와 같은 것.
haystack으로이 작업을 수행하는 가장 직접적인 방법은 무엇입니까?
Medicine
또는 Application
에 대해 SearchIndex
을 만듭니 까? Application
에 SearchIndex
을 입력하면 중복 된 Medicine
개체를 어떻게 검색합니까?
추신 : 솔라의 dev 릴리스에는 필드 축소 기능이 있습니다.하지만 거대한 데이터베이스와 성능이 중요하기 때문에 필자는이를 피하고자합니다.
템플릿에 필드 값을 어떻게 표시 했습니까? MultiValueField가없는 경우 일반적으로 {{result.object.afiledname}}을 사용합니다. 그러나이 경우 어떻게 수행하는지 정확히 모르겠습니다. – avatar
나는 당신의 질문을 완전히 이해하지 못합니다. 내가 한 것은 'Medicine_rendered.txt'라는 템플릿을 사용하는 'rendered = CharField (use_template = True, indexed = False)'로 정의 된 병합되지 않은 필드에 결과 스 니펫을 저장하는 것입니다. 이 템플릿에서 단일 결과 개체에 대한 html 코드 조각을 넣습니다. 그런 다음 템플릿에서 {{object_name.rendered}}를 렌더링하면됩니다. 자세한 내용은 http://django-haystack.readthedocs.org/en/latest/searchindex_api.html#stored-indexed-fields –
'MultiValuedField' 대신'MultiValueField'를 참조하십시오. –