索引类轻松创建数据库索引。 可以使用Meta.indexes
选项添加它们。 本文档介绍Index
的API参考,包括索引的选项。
引用内置索引
索引在django.db.models.indexes
中定义,但为了方便起见,它们被导入到django.db.models
中。 标准惯例是使用from django.db import models
,并引用索引为models.<IndexClass>
。
Index
的选项¶fields
¶Index.
fields
¶需要索引的字段的名称列表。
默认情况下,每个列按照升序创建索引。 要以列的降序定义索引,请在字段名称之前添加连字符。
例如Index(fields=['headline', '-pub_date'])
创建SQL (headline, pub_date DESC)
。 MySQL不支持索引排序。 在这种情况下,创建降序索引作为正常索引。
支持SQLite上的列排序
SQLite 3.3.0+支持列排序,仅适用于某些数据库文件格式。 有关详细信息,请参阅SQLite文档。
name
¶Index.
name
¶索引的名称。 如果没有提供name
,Django将自动生成一个名称。 为了兼容不同的数据库,索引名称不能超过30个字符,不能以数字(0-9)或下划线(_)开头。
请参见
有关PostgreSQL特定索引的列表,请参见django.contrib.postgres.indexes
。
2017年9月6日