我试图让 Django 模型在日期字段上按降序(DESC)顺序创建索引,但我找不到方法来做到这一点。基本上,我需要执行类似以下 SQL 的操作(在 Posgres 中):
CREATE INDEX "idx_name" ON "table" ("date" DESC);
我能得到的最接近的是添加db_index=True
生成以下 SQL 的模型:
CREATE INDEX "idx_name" ON "table" ("date");
接近,但不完全是。 DESC 在这里有很大的不同,因为我的查询返回从最新到最旧的对象。
我知道我可以将原始 sql 添加到迁移中,但如果 Django 可以帮我解决的话那就更好了。
有任何想法吗?
Thanks!
我相信 Django 1.11 现已支持您所追求的功能。
class Meta:
indexes = [
models.Index(fields=['last_name', 'first_name',]),
models.Index(fields=['-date_of_birth',]),
]
官方参考here https://docs.djangoproject.com/en/1.11/ref/models/options/#django.db.models.Options.indexes, here https://docs.djangoproject.com/en/1.11/ref/models/indexes/, and 发行说明 https://docs.djangoproject.com/en/1.11/releases/1.11/#class-based-model-indexes.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)