我想通过我的一个字段的子字符串进行聚合。
models.py
class SomeModel(models.Model):
symbol = models.CharField(db_column='SYMBOL', max_length=16)
number = models.IntegerField(db_column='NUMBER')
符号将是这样的;
'symbol': 'foo.bar', 'number':5
'symbol': 'foo.foo', 'number':10
'symbol': 'some.water', 'number':1
'symbol': 'some.milk', 'number':1
我想要的是聚合;
symbol.split('.')[0]
最终结果就像是;
'symbol': 'foo', 'number': 15
'symbol': 'some', 'number': 2
我查看了annotate
和aggregate
文档,但我正在努力解决这个问题。谢谢。
答案 0 :(得分:0)
你试过吗
SomeModel.objects.extra(select={'symbol': 'SUBSTRING_INDEX(symbol, ".")'})?