我有两种模式:
class A(models.Model):
# fields
class B(models.Model):
a = models.ForeignKey(A)
name = models.CharField(max_length=64)
我想要做的是除了来自B的相关对象之外还从A获取过滤后的查询集,并将它们附加到A的查询集中,这样我就能以这种方式访问name
字段:{ {1}}
知道怎么做吗?
答案 0 :(得分:2)
问题在于,由于关系是一对多关系,A
不只有一个B
,而是一个b_set
你可以这样:
for b in a.b_set.all():
b.name
但你不能只引用B
,因为这个概念不存在。但是,如果您使用过OneToOneField。然后你可以很容易地做到:
a.b.name
因为每个B
只有一个A
。但是,您必须在实际关系发生后对对象进行建模,而不是更喜欢 api的工作方式。