为Django GROUP_CONCAT模拟器定义自定义分隔符

时间:2016-11-01 09:19:04

标签: python django

class Concat(Aggregate):
    # supports COUNT(distinct field)
    function = 'GROUP_CONCAT'
    template = '%(function)s(%(distinct)s%(expressions)s)'

    def __init__(self, expression, distinct=False, **extra):
        super(Concat, self).__init__(
            expression,
            distinct='DISTINCT ' if distinct else '',
            output_field=CharField(),
            **extra)

我在Stackoverflow中遇到了splendid answer,它提供了一个Django解决方案来模拟MySQL的GROUP_CONCAT。现在我想知道如何在Django中为它设置分隔符。我尝试了很多可能的选项,其中包括'%(function)s(%(distinct)s% ", "(expressions)s)',但我的尝试都没有成功。有什么想法吗?

0 个答案:

没有答案