0

我有两张桌子,

class A(models.Model):
    name = models.CharField(max_length=1000, unique=True)
class B(models.Model):
    name = models.CharField(max_length=1000, unique=True)
    a = models.ForeignKey(A, on_delete=models.PROTECT, related_name="a")

我需要的结果集如下,

[{ "name":"a",
   "a":[
        {"name":"a1"}, {"name":"b1"}, {"name":"c1"}]
}, { "name":"b",
   "b":[
        {"name":"a2"}]
}]

样本表数据

A

id    name
------------
1    a
2    b



B

id    name   a
---------------
1    a1     1
2    b1     1
3    c1     1
4    a2     2

我将如何在 django orm 中实现我想要的结果?我试过了

  a_ob  = A.objects.get(id=1)
  b_ob = a_ob.a.all()

这会给我两个结果,我会将两者结合起来。当我想在不按 id 过滤的情况下获取表 A 中的所有记录时,我会使用什么。(orm中没有for循环)

4

0 回答 0