gpt4 book ai didi

python - Django "NULLS LAST"用于创建索引

转载 作者:太空狗 更新时间:2023-10-30 01:25:45 24 4
gpt4 key购买 nike

Django 1.11 及更高版本允许使用 F 表达式为查询添加 nulls last 选项:

queryset = Person.objects.all().order_by(F('wealth').desc(nulls_last=True))

但是,我们希望使用此功能来创建索引。模型定义中的标准 Django 索引:

indexes = [
models.Index(fields=['-wealth']),
]

我尝试了一些方法:

indexes = [
models.Index(fields=[models.F('wealth').desc(nulls_last=True)]),
]

返回 AttributeError: 'OrderBy' object has no attribute 'startswith'

这可以在 Django 中使用 F 表达式吗?

最佳答案

不,不幸的是,目前 (Django <=2.1) 这是不可能的。如果您查看 source of models.Index ,您会看到它假定参数 fields 只包含模型名称。

作为解决方法,您可以在迁移中使用原始 SQL 手动创建索引。

关于python - Django "NULLS LAST"用于创建索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49493498/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com