假设我的模型中的字段f定义如下,作为外键:
f = models.ForeignKey(AnotherModel)
当Django同步数据库时,在db中创建的字段将被称为f_id
,后面会自动添加' _id'。
问题是我希望db中的这个字段与我在模型中定义的完全相同,在这种情况下为f
。我怎样才能做到这一点?
答案 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