Django如何命名为外键列自动创建的索引?

时间:2016-05-06 14:57:46

标签: mysql django

我知道Django会自动为外键生成索引,除非我们使用db_index = False定义字段。 我在django doc

中读到过它

但我不知道是否可以选择索引名称,或者django如何选择它。

它总是像“tablename_xxxxxx”。

“xxxxx”就像是随机字符?

编辑: 我发现“xxxx”是模型字段名称的一些编码,但我仍然不知道我们是否可以选择一个明确的名称

2 个答案:

答案 0 :(得分:3)

据我所知,没有办法选择索引的名称。它实际上是动态计算的,它暗示了表名和列名的散列。

例如,请参阅code source here,即使它是特定版本的Django,我也不知道对用户名为index的任何更改。

答案 1 :(得分:2)

是否可以选择索引名称?是的,但这样做没有任何好处。

第一步是关闭constraint,然后你需要以迁移的形式手动将一个添加到迁移中.RunSQL 是的,这是一项艰苦的工作,完全不值得做。