Django db_index问题

时间:2010-02-10 04:29:50

标签: django postgresql django-models indexing

目前,我有3个型号,A,B和C

C有B的外键 B有A的外键

class C(models.Model):
    name = models.CharField(max_length=50, db_index=True, unique=True)
    b = models.ForeignKey(B)
class B:
...similar to C
class A
...similar to C except for the FK

但是,manage.py sqlindexes app生成的SQL不会为C.name,B.name和A.name创建索引。有人知道为什么会这样吗?

1 个答案:

答案 0 :(得分:1)

在我看来,因为这些字段也有unique = True,所以我不会太担心它。如果你有unique = True,那么你将获得一个唯一索引(可能会或可能不会被实现为数据库索引),所以我猜Django只是忽略了db_index = True位。

对于我的一个类似指定的模型,我的行为非常相似。运行manage.py sql app时会得到什么输出?您是否看到使用name创建的UNIQUE字段?