Django 模型:添加日期索引,降序顺序

2024-01-02

我试图让 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(使用前将#替换为@)

Django 模型:添加日期索引,降序顺序 的相关文章

随机推荐