2011-05-12 91 views

回答

67

Django自动为所有models.ForeignKey列创建索引。

Django documentation

数据库索引自动上ForeignKey创建。您可以通过将db_index设置为False来禁用此功能。如果要为一致性而不是连接创建外键,或者要创建替代索引(如部分索引或多列索引),则可能需要避免索引的开销。

+0

我找不到任何有关这个事实的参考资料。对此有何参考? – GabiMe 2011-05-16 09:27:25

+1

运行'./manage.py sql appname',你会看到索引创建的SQL语句。它们来自创建最后一个表所需的SQL。 – 2011-05-17 04:49:52

+6

@LukeSneeringer,我不知道你给的命令是用来显示索引的,但它不再。相反,对于索引自己运行'./manage.py sqlindexes appname'。 – 2012-01-03 16:49:56