在django中如何操作

class ModelA(models.Model):

    f = models.CharField(max_length=50)


class ModelB(models.Model):

    a = ForeignKey(ModelA)

    b = models.CharField(max_length=50)

我想在模型 A 中得到 f 并且我知道 b 。我如何使用 django orm 来做到这一点?


SMILET
浏览 171回答 2
2回答

慕婉清6462132

您可以使用以下查询之一:a_models = ModelA.objects.filter(model_b__b=known_b_value)for a in a_models:    print(a.f)b_models = ModelB.objects.filter(b=known_b_value).select_related('a')for b in b_models:    print(b.a.f)select_related在第二个查询中不是绝对必要的;它仅用于获取f第一个查询中的值,而不是每个循环项的一个附加查询中的值。

紫衣仙女

这是您要找的吗?ModelA.objects.filter(b=value_matching_b).values('a__f').all()
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python