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貢獻(xiàn)1804條經(jīng)驗 獲得超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第一個查詢中的值,而不是每個循環(huán)項的一個附加查詢中的值。

紫衣仙女
TA貢獻(xiàn)1839條經(jīng)驗 獲得超15個贊
這是您要找的嗎?
ModelA.objects.filter(b=value_matching_b).values('a__f').all()
添加回答
舉報
0/150
提交
取消