간행물의 도시, 주, 국가를 표시하려고 합니다. HTML 템플릿의 정보. 그러나 이러한 세부 정보는 별도의 데이터베이스 테이블에 저장됩니다.
models.py 파일의 관련 모델은 다음과 같습니다.
다음 구조를 사용하여 Django 뷰에 동등한 SQL 쿼리를 작성하려고 합니다.
<code class="sql">SELECT p.user_id, p.title, c.cuntry_id, c.country_name, s.state_id, s.state_name, y.city_id, y.city_name FROM publication AS p INNER JOIN country AS c ON c.id = p.country_id INNER JOIN countrystate AS s ON s.id = p.countrystate_id INNER JOIN city AS y ON y.id = p.city_id</code>
Django에서 내부 조인을 수행하려면 게시 쿼리 세트에서 select_관련() 메서드를 사용하세요.
<code class="python">pubs = publication.objects.select_related('country', 'country_state', 'city')</code>
이렇게 하면 조인하는 단일 쿼리가 생성됩니다. 관련 국가, 주, 도시 테이블이 포함된 출판 테이블입니다. 결과 객체는 객체 속성을 통해 결합된 데이터에 액세스할 수 있으므로 추가 데이터베이스 쿼리가 필요하지 않습니다.
위 내용은 출판 정보를 위해 Django 모델에서 관련 테이블을 어떻게 효율적으로 조인할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!