有没有办法在没有index_together元选项的情况下定义多字段索引?

时间:2015-07-03 08:44:49

标签: python django django-models django-orm django-1.4

我正在开发一个使用django 1.4的遗留django项目。 对于新模型,我尝试添加多字段索引:

SELECT 
    empnum,  
    (SELECT NAMEKO 
     FROM 
          (SELECT NAMEKO 
           FROM PA0001 
           WHERE COMPCD = a.COMPCD 
             AND EMPNUM = a.FRSTUP 
           ORDER BY EDDATE DESC) 
     WHERE ROWNUM = 1) AS FRSTNM,  
    (SELECT NAMEKO 
     FROM 
          (SELECT NAMEKO 
           FROM PA0001 
           WHERE COMPCD = a.COMPCD 
             AND EMPNUM = a.LASTUP 
           ORDER BY EDDATE DESC) 
     WHERE ROWNUM = 1) AS LASTNM
FROM PA0000 a

事实证明,django 1.4中还不支持class Meta: index_together = [ ["user","is_read"], ]

我的问题是,在不使用index_together功能的情况下,django ORM中是否有任何方法可以定义多字段索引?

1 个答案:

答案 0 :(得分:4)

Django 1.4中没有index_together的替代品。

但是,您可以编写原始SQL来创建索引。如果将其包含在initial sql data中,Django将在创建表后运行它。

如果您已经创建了表,则可以打开db shell并运行SQL命令来创建索引。