24
在django中,如果我将模型中的字段设置为外键,则"_id"
会附加到该字段的名称。这怎么能被阻止?防止django将“_id”附加到外键字段
在django中,如果我将模型中的字段设置为外键,则"_id"
会附加到该字段的名称。这怎么能被阻止?防止django将“_id”附加到外键字段
您可以在现场的db_column
属性设置为任何你想。
在模型中使用外部字段时,Django会创建两个字段:一个用于实际链接,另一个用于引用另一个模型。
class A(Model):
i = IntegerField()
class B(Model):
a = ForeignKey(A)
在B
现在有两个字段:a
和a_id
。 a_id
是存储在数据库中的唯一ID,而a
可以用来直接访问字段A
,像这样:
b = B.objects.get(...)
b.a.i = 5; # Set the field of A
b.a.save() # Save A
这样做。谢谢! –
有一个像FK_AUTO_ID = False这样的设置会非常有用,我碰巧正在与一个遗留数据库进行集成,这个数据库必须编写非干性代码,比如basiscd = ForeignKey('...',db_column ='basiscd',related_name = 'basiscd',它有点恼人,表格在并行场景中有auto_id = False –
甚至更好FK_AUTO_ID ='cd'在我的例子中,这个项目中的所有FK都拥有这个约定,这不同于Django的默认(假设FK_AUTO_ID ='_ id')。 –