如何使用加入Django?

时间:2018-04-18 09:02:56

标签: python django

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

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

tableB的

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

1 个答案:

答案 0 :(得分:4)

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

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

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

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

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