You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django中select_related关联多模型(A→B→C)的写法咨询

当需要从模型A通过外键B,进一步关联到模型B的外键C时,有两种直观的实现方式:

方式一:双下划线关联多级字段

直接在 select_related 中使用双下划线串联关联的外键字段名,这是最常用的写法:

A.objects.select_related('B__C')...

也可以通过多次调用 select_related,或者在单次调用中传入多个关联字段来实现:

# 多次链式调用
A.objects.select_related('B').select_related('B__C')...

# 单次调用传入多个字段
A.objects.select_related('B', 'B__C')...

注意:select_related 仅支持外键(ForeignKey)和一对一(OneToOneField)关系,多对多关系需要使用 prefetch_related。

内容的提问来源于stack exchange,提问作者y.dai

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 04:22:00