您希望显示出版物的城市、州和国家/地区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中文网其他相关文章!