python - Django 切片查询集中的单个字段

标签 python django django-queryset slice

我试图从 char 字段中获取前五个字符,但只针对查询集中的一个字段,但我不断收到各种错误。在 View 中是否有有效的方法来执行此操作?

我正在尝试的代码:

var = Model.objects.values('field1', 'field2'[:5], 'field3')

最佳答案

您可以使用 Substrfield2 的前 5 个字母注释查询集功能:

from django.db.models.functions import Substr 
queryset = Model.objects.all() 
queryset = queryset.annotate(field2_5=Substr('field2', 1, 5)) 

然后,在值中使用带注释的字段field2_5:

values = queryset.values('field1', 'field2_5', 'field3')

关于python - Django 切片查询集中的单个字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41105294/

相关文章:

django - 这些参数在 swagger_auto_schema (Django) 中是什么意思?

django - 快速查找 Django QuerySet 中的最后一个元素?

python - 使用 python paramiko fork ssh

python - 使用边缘和纹理进行图像比较

python - 迁移到 GAE

javascript - Django、HTML、JS : <img src ="#"> work in HTML but in JS file not

python - Django loaddata - 内存不足

python - Django:聚合 QuerySet 结果的更好方法

python - Django,查询相关字段: related field exists which meet conditions

python - 如何将一些生成的测试标记为 xfail/skip?