python - 如何在 Django 中使用 Join?

标签 python django

我是 Python/Django 的新手。 我有两张 table 表A

id(pk) Name desc   tableBID(fk)
1      ABC  testdesc  1
2      XYZ  testdes   2

表B

id Name
1  firstName
2  Second Name

在Django中,我写了下面的代码

records = tableA.objects.all()

这为我提供了 tableA 数据,但我还需要 TableB 名称。

谁能告诉我如何获取 TableB 的名称

1      ABC  testdesc  1  firstName
2      XYZ  testdes   2  Second Name

最佳答案

您可以使用 values通过一次查询获取所需数据:

records = tableA.objects.values('Name', 'desc', 'tableBID__Name`)

tableBID__Name 将从相关的 TableB 记录中获取名称。

或者要获取对象列表而不是字典,请使用 select_related :

records = tableA.objects.all().select_related('tableBID')

关于python - 如何在 Django 中使用 Join?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49895499/

相关文章:

python - 如何在 Beautiful Soup 4 中插入未转义的 html 片段

python - 对象类型列,百分比以 % 和小数显示,全部转换为小数

python - 给定 UTC 时间戳和 UTC 偏移量,是否可以在 Python 中获取时区?

django - 自定义用户模型和南

python - 在 Django 中只允许模型的一个实例

python - 从 Python 2 升级到 Python 3 后该怎么办?

python - 如何将 Python 中的(语言环境)千位分隔符更改为阿拉伯语 Unicode 分隔符?

django - 如何在 Django-rest 的媒体字段中获取完整的媒体链接?

python - 试图找到前 5 个最常见的条目

python - django rest 单线程/阻塞 View