带有_id的Django后缀ForeignKey字段

时间:2012-10-29 05:06:21

标签: django foreign-keys

假设我的模型中的字段f定义如下,作为外键:

f = models.ForeignKey(AnotherModel)

当Django同步数据库时,在db中创建的字段将被称为f_id,后面会自动添加' _id'。

问题是我希望db中的这个字段与我在模型中定义的完全相同,在这种情况下为f。我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:17)

事实证明,有一个名为db_column的关键字参数。如果你想在数据库中使用名为'f'的字段就像这样简单:

f = models.ForeignKey(AnotherModel, db_column='f')

进一步参考:

  

要用于的数据库列的名称   这个领域。如果没有给出,Django将使用该字段的名称。

     

如果您的数据库列名是SQL保留字或包含   Python变量名中不允许的字符 - 值得注意的是,   连字符 - 没关系。 Django引用了列和表名   场景。

https://docs.djangoproject.com/en/2.2/ref/models/fields/#db-column