【问题标题】:Django: How to reference a AutoField?Django:如何引用 AutoField?
【发布时间】:2018-03-05 09:44:15
【问题描述】:

我有一个这样的数据模型:

class MaterialType(models.Model):
    materialType_id = models.AutoField(primary_key=True)
    materialType_name = models.CharField(max_length=20)
    parentNode_id = models.IntegerField()

类中的第三行想要引用另一个 materialType 的 id,就像第一行一样。但是第一行是 AutoField,我想我可以使用 IntegerField 来引用它?

你能给出一些提示来解决这个问题吗?

【问题讨论】:

    标签: sql django model


    【解决方案1】:

    你需要做一个关系字段,比如外键:

    parentNode_id = models.ForeignKey(
        'self', 
        on_delete=models.CASCADE,
        related_name='parents'
    )
    

    默认情况下,Django 将其添加到主键字段中,因此在您的情况下为 materialType_id。 related_name 是您的实例上的外键名称。

    【讨论】:

      猜你喜欢
      • 2012-06-15
      • 1970-01-01
      • 2016-10-09
      • 2016-02-01
      • 2020-05-24
      • 1970-01-01
      • 2015-02-17
      • 2018-12-12
      • 2011-11-22
      相关资源
      最近更新 更多