我知道Django会自动为外键生成索引,除非我们用db_index=False定义字段。我在Django Doc中读到过但是我不知道是否可以选择索引名称,或者django如何选择它。它总是类似于“tablename_xxxxxx”。“xxxxx”是随机字符吗
db_index=False
**EDITED:**我发现“xxxx”是模型字段名的一些编码,但我仍然不知道我们是否可以选择一个显式的名称
j2qf4p5b1#
据我所知,没有办法选择索引的名称。它实际上是动态计算的,它隐含了表名和列名的哈希。例如,查看这里的代码源,即使它是针对Django的特定版本,我也不知道对名为index的用户的任何更改。
jpfvwuh42#
是否可以选择索引名称?是的但是那样做没有任何好处。第一步是关闭约束,然后你需要手动添加一个到迁移的形式migrations.RunSQL是的,这是一个艰苦的工作,完全不值得做.
2条答案
按热度按时间j2qf4p5b1#
据我所知,没有办法选择索引的名称。它实际上是动态计算的,它隐含了表名和列名的哈希。
例如,查看这里的代码源,即使它是针对Django的特定版本,我也不知道对名为index的用户的任何更改。
jpfvwuh42#
是否可以选择索引名称?是的但是那样做没有任何好处。
第一步是关闭约束,然后你需要手动添加一个到迁移的形式migrations.RunSQL是的,这是一个艰苦的工作,完全不值得做.