2013-01-22 2 views
3

누구나 여러 관련 모델 (즉, 관계형 조인)의 데이터를 선택하고 표시하는 django-tables2를 사용하여 테이블 객체를 만드는 방법에 대한 명확한 예제를 제공 할 수 있습니까? 설명서는 이것이 가능함을 의미하지만 어떻게 말하지는 않습니다.django-tables2를 사용하여 관련 모델에 액세스

정상적인 django에서는 select_related() 함수가 제대로 작동하지만 django-tables2에서이를 구현하는 방법을 배울 수 없습니다. 유사한 주제의 다른 unanswered questions가 있습니다.

답변

3

먼저 select_related()은 관련 데이터에 액세스 할 필요가 없으며 성능상의 이유로 존재합니다. django-tables2의 경우 accessor을 정의해야합니다. 예를 들면 다음과 같습니다. https://github.com/bradleyayers/django-tables2/issues/106

+0

감사합니다 ustun! 매우 도움이됩니다. 'foreigncolumn = tables.Column (accessor = 'foreignmodel.foreigncolumnname')'은 테이블 정의에서 취급을합니다. – chill

+0

잘 듣는 것이 낫다! 좋은 팁은 Githup repos의 문제 섹션에서 키워드를 검색하는 것입니다. 일반적으로 SO 이외에도 솔루션을 찾을 수 있습니다. 답변을 수락 된 것으로 표시 할 수 있습니까? 감사. – ustun

+2

N : 1 대신 N : 1 : N? 예를 들어, 테이블 셀의 모든 관련 모델을 연결하려면 어떻게해야합니까? 낡은'render_ (self, record)'방식으로 가능할 것입니다. 나는'lambda record :''.join (...)'을'accessor ='에 전달하려고 시도했지만,'None' ('-') 만 제공합니다. 그리고 모델에 그런 메소드를 추가하는 것 같은 느낌이 들지 않습니다. 모델이 작동한다는 것을 알고 있습니다. 나는 그것이 "Model Layer"에 속한 것이 아니라 "Table Layer"('tables.py')에 속한다고 생각합니다. –