为了账号安全,请及时绑定邮箱和手机立即绑定

在django中如何操作

在django中如何操作

SMILET 2021-12-09 15:51:59
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 来做到这一点?
查看完整描述

2 回答

?
慕婉清6462132

TA贡献1804条经验 获得超2个赞

您可以使用以下查询之一:


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第一个查询中的值,而不是每个循环项的一个附加查询中的值。


查看完整回答
反对 回复 2021-12-09
?
紫衣仙女

TA贡献1839条经验 获得超15个赞

这是您要找的吗?

ModelA.objects.filter(b=value_matching_b).values('a__f').all()


查看完整回答
反对 回复 2021-12-09
  • 2 回答
  • 0 关注
  • 170 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号