Python django orm获取外键值
我有两张桌子Python django orm获取外键值,python,django,orm,Python,Django,Orm,我有两张桌子 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") 我需要的结果集
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循环)“当我想获取表A中的所有记录时,我会使用什么”你是什么意思?您希望从哪个实例获取这些记录?从b实例中,您只能从a实例中获得一条记录,因为有外键。当我想获取表a中的所有记录时,我会使用什么-
a.objects.all()
?@hoefling我需要与b表中的相关记录一起使用?在表a中,不能从b实例中获得多条记录,b从a实例中获得一条外键。。但是,使用多个域
,您可以