Django:如何引用AutoField?

时间:2017-09-24 08:09:52

标签: sql django model

我有这样的数据模型:

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来引用它吗?

你能提供一些解决这个问题的提示吗?

1 个答案:

答案 0 :(得分:0)

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

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

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