python - Django 模型 : add index on date, desc 顺序

标签 python django indexing

我正在尝试让 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 能帮我弄清楚就更好了。

有什么想法吗?

谢谢!

最佳答案

我相信从 Django 1.11 开始支持您所追求的。

class Meta:
    indexes = [
        models.Index(fields=['last_name', 'first_name',]),
        models.Index(fields=['-date_of_birth',]),
    ]

官方引用here , here , 和 release notes .

关于python - Django 模型 : add index on date, desc 顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34364597/

相关文章:

Django 历史对象值

python - 模板中的 Django "Display once"

django - 可以将 Wagtail 文档上传到/documents/的子​​文件夹

使用 cmake 和 pybind11 构建示例应用程序时找不到 Python.h

arrays - 在工作表中搜索相似行以组合在一起 Excel VBA

php - MySQL 和 UNIQUE 列 : how to avoid duplicates?

python - numpy:使用 OR 将多个赋值转换为单个赋值

python - Django include找不到模板

python - "Wrong"python datetime包中的时间增量计算

Python - 仅当在两个关键字列表中检测到关键字时才可以发送消息吗?