您希望顯示出版物的城市、州和國家/地區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_lated() 方法:
<code class="python">pubs = publication.objects.select_related('country', 'country_state', 'city')</code>
這將導致單一聯接查詢出版品表以及相關的國家、州和城市表。產生的物件將可以透過物件屬性存取連接的數據,從而無需額外的資料庫查詢。
以上是如何有效率地連接Django模型中的相關表格以獲取發布資訊?的詳細內容。更多資訊請關注PHP中文網其他相關文章!