命名Django外键以请求正确的列

时间:2016-06-11 03:05:03

标签: python django postgresql

我正在使用Django(我是新手)。我想定义一个外键,我不知道如何去做。

我有一个名为stat_types的表:

class StatTypes(models.Model):
    stat_type = models.CharField(max_length=20)

现在我想在overall_stats表中将一个外键定义为由django自动生成的stat_type id。那会是以下吗?

    stat_types_id = models.ForeignKey('beta.StatTypes')

如果我希望将stat_types表的stat_type列设置为外键,该怎么办?那会是:

stat_type = models.ForeignKey('beta.StatTypes')

我想我的困惑在于不知道在第二个模型中命名列的名称,以便它知道第一个模型的哪一列用作外键。

谢谢!

1 个答案:

答案 0 :(得分:1)

您为FK列名称指定的名称无关紧要。 Django发现它是一个ForeignKey并将_id追加到该字段。所以这里不需要_id。我认为这已经足够了

stat_type = models.ForeignKey('beta.StatTypes')

Doc says

  

建议(但不要求)ForeignKey字段的名称   (上例中的制造商)是模型的名称,   小写。当然,你可以随心所欲地召唤战场。