我试图用不区分大小写的方式用它们的计数来注释我的数据。我发现了这个类似的问题:django orm大小写不敏感的订单,并尝试了这个:
from django.db.models.functions import Lower
Posts.objects.filter(published=True).values('author').annotate(Lower('author'))
但是它返回:
AttributeError: 'Lower' object has no attribute 'split'
我也试过这个:
Posts.objects.filter(published=True).values('author').annotate(c=Count(Lower('author')))
它没有效果,结果区分大小写。
尝试在Count
:之前使用Lower
注释数据
Posts.objects.filter(published=True).annotate(lauthor=Lower('author')).values('lauthor').annotate(c=Count('id'))
我不知道你的Post模型怎么样,但我建议使用order_by
Posts.objects.filter(published=True).annotate(lauthor=Lower('author')).values('lauthor').annotate(c=Count('lauthor')).order_by('lauthor')