Vid*_*dak 5 python django indexing null django-models
Django 1.11及更高版本允许使用F-expressions为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'.
这可以F在Django中使用-expressions吗?
不,不幸的是,目前 (Django <=2.1) 是不可能的。如果您查看 的来源models.Index,您将看到它假定参数fields包含模型名称而没有其他任何内容。
作为一种解决方法,您可以在迁移中使用原始 SQL 手动创建索引。
| 归档时间: | 
 | 
| 查看次数: | 308 次 | 
| 最近记录: |