带有_id的Django后缀ForeignKey字段
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了带有_id的Django后缀ForeignKey字段相关的知识,希望对你有一定的参考价值。
假设我的模型中的字段f定义如下,作为外键:
f = models.ForeignKey(AnotherModel)
当Django同步数据库时,在db中创建的字段将被称为f_id
,自动以“_id”为后缀。
问题是我希望db中的这个字段与我在模型中定义的完全相同,在这种情况下是f
。我怎样才能做到这一点?
答案
事实证明,有一个名为db_column
的关键字参数。如果你想在数据库中名为'f'的字段就像这样简单:
f = models.ForeignKey(AnotherModel, db_column='f')
进一步参考:
用于此字段的数据库列的名称。如果没有给出,Django将使用该字段的名称。
如果您的数据库列名是SQL保留字,或者包含Python变量名中不允许的字符 - 特别是连字符 - 那就没问题。 Django在幕后引用了列名和表名。
https://docs.djangoproject.com/en/dev/ref/models/fields/#db-column
以上是关于带有_id的Django后缀ForeignKey字段的主要内容,如果未能解决你的问题,请参考以下文章
如何限制 Django raw_id_field 的 ForeignKey 选择的选择
Django admin List Display + ForeignKey = Empty Change List
相当于 django 上的 entry.objects.filter(foreignkey__attribut='x') 和 .get()