我知道Django会自动为外键生成索引,除非我们使用db_index = False定义字段。 我在django doc
中读到过它但我不知道是否可以选择索引名称,或者django如何选择它。
它总是像“tablename_xxxxxx”。
“xxxxx”就像是随机字符?
编辑: 我发现“xxxx”是模型字段名称的一些编码,但我仍然不知道我们是否可以选择一个明确的名称
答案 0 :(得分:3)
据我所知,没有办法选择索引的名称。它实际上是动态计算的,它暗示了表名和列名的散列。
例如,请参阅code source here,即使它是特定版本的Django,我也不知道对用户名为index的任何更改。
答案 1 :(得分:2)
是否可以选择索引名称?是的,但这样做没有任何好处。
第一步是关闭constraint,然后你需要以迁移的形式手动将一个添加到迁移中.RunSQL 是的,这是一项艰苦的工作,完全不值得做。