【问题标题】:Django foreignKey that doesn't use model's primary key to match to foreign object's primary key?Django foreignKey 不使用模型的主键来匹配外部对象的主键?
【发布时间】:2020-05-01 08:25:11
【问题描述】:

假设我有两个看起来像这样的模型:

ModelA
    uuid (primary key)
    id

ModelB
    id (primary key)
    size

我想向 ModelA 添加一个字段。我希望这个字段是一个加入 ModelA.id == ModelB.id 的 ForeignKey。

我已经搜索了整个 Django 文档,只找到了如何更改连接中使用的外来对象的字段,但我还没有找到一种方法来更改连接中使用的“this”对象的字段。

是否可以从“this”对象中指定一个非主键字段,该字段用于通过连接到来自外部对象的匹配主键来创建外键?

【问题讨论】:

    标签: django foreign-keys


    【解决方案1】:

    ForeignKey.to_field

    ModelA
        uuid (primary key) unique=True
        id
    
    ModelB
        id (primary key)
        size
        modela = ForeignKey(ModelA, to_field='uuid')
    

    【讨论】:

      猜你喜欢
      • 2012-07-08
      • 2016-09-28
      • 2016-04-02
      • 1970-01-01
      • 2020-12-01
      • 2018-01-10
      • 2023-03-07
      • 2013-05-27
      • 2013-01-14
      相关资源
      最近更新 更多