为什么django模型会自动将列更改为INT

时间:2017-11-10 15:05:32

标签: python django python-2.7 django-models

这是我的模特档案:

class BC_list(models.Model):
    Bc_id = models.CharField(max_length=25, verbose_name="BC ID")

    def __unicode__(self):
        return str(self.Bc_id)

class cdList(models.Model):
    BC = models.ForeignKey( BC_list )
    ProcessName = models.CharField(max_length=25, verbose_name="ProcessName")

    def __unicode__(self):
        return str(self.BC)+'-'+str(self.ProcessName)

有谁能告诉我为什么BC列是INT而不是Varchar? 如你所见,Bc_is是一个charfield。 我不明白,

提前致谢,

1 个答案:

答案 0 :(得分:3)

Bc_id不是主键。 cdList上的外键将自动指向实际的主键,可能是id并且是整数字段。

如果您确实想要指向非主键,则可以在外键字段上使用to_field属性。

(另外,请使用描述性模型和字段名称。)