You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用PostgreSQL查询工具创建跨多表的图书列表Schema视图?

创建PostgreSQL视图实现图书列表查询

首先明确Django自动生成的PostgreSQL表名规则:默认格式为{应用名}_模型名,假设你的Django应用名为library,则三个对应表为library_tag、library_author、library_book,若你的应用名不同,替换以下SQL中的表名即可。

生成SEARCHVIEW的SQL语句

执行以下SQL创建视图:

CREATE VIEW SEARCHVIEW AS
SELECT
    t."TagName" AS "TagName",
    a."AuthorName" AS "AuthorName",
    b."BookName" AS "BookName"
FROM
    "library_book" b
INNER JOIN
    "library_tag" t ON b."TagName_id" = t."id"
INNER JOIN
    "library_author" a ON b."AuthorName_id" = a."id";

关键说明

  • Django外键字段在数据库中会自动生成{外键字段名}_id格式的列,比如Book模型里的TagName外键,对应表列是TagName_id,关联Tag表的主键id。
  • 通过INNER JOIN关联三个表,确保获取到关联的标签、作者和图书信息。

验证视图

创建完成后,执行查询语句即可得到目标格式的结果:

SELECT * FROM SEARCHVIEW;

返回结果示例:

TagName  | AuthorName |       BookName
----------+------------+-----------------------
 Recipes  | Jeff       | Chef Jeff's food
 Recipes  | Jeff       | Foods in Europe
 Stories  | Jeff       | an Adventure Story

内容的提问来源于stack exchange,提问作者deeded307

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 03:35:24