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

Django中为模型添加多个ForeignKey至同一模型的疑问

回答
  1. 不会报错。在一个模型中定义多个指向同一目标模型的ForeignKey是Django支持的合法用法,你已经为每个字段指定了唯一的related_name,这能让Django区分每个反向关联,不会出现冲突。

  2. 不会生成多对多关系。每个ForeignKey都是独立的一对多关联:

    • 对于startdestination:一个Destination可以对应多个以它为起点的Vehicle,但单个Vehicle只能有一个起点
    • 对于subdestination:一个Destination可以对应多个以它为中途点的Vehicle,单个Vehicle只能有一个中途点
    • 对于finaldestination:一个Destination可以对应多个以它为终点的Vehicle,单个Vehicle只能有一个终点

多对多关系必须通过ManyToManyField显式定义,你的代码中没有使用该字段,因此不存在多对多关联。


内容的提问来源于stack exchange,提问作者nikhil gusain

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 03:13:15