Django: Реализация Group_Concat с необязательным разделителем с помощью SQLITE

Хотя Django реализация Group_Concat на my_sql или mariaDB кажется хорошо документированной, я не могу заставить Group_Concat работать в Django с необязательным разделителем на SQLITE.

class GroupConcat(Aggregate):
function = 'GROUP_CONCAT'
    separator = '-'

    def __init__(self, expression, separator='-', distinct=False, ordering=None, **extra):
        super(GroupConcat, self).__init__(expression,
                                          distinct='DISTINCT ' if distinct else '',
                                          ordering=' ORDER BY %s' % ordering if ordering is not None else '',
                                          output_field=CharField(),
                                          **extra)
        self.separator = separator

Хорошо работает с разделителем по умолчанию ',' при использовании опции distinct

def as_sqlite(self, compiler, connection, **extra_context):
        if self.separator:
            return super().as_sql(
                compiler, connection, separator=self.separator,
                template="%(function)s(%(distinct)s%(expressions)s)",
                **extra_context
            )

Я понял, что в SQLITE мы не можем использовать разделитель distinct и declare, но я не понимаю, почему это не работает без разделителя, как в:

def as_sqlite(self, compiler, connection, **extra_context):
    
            return super().as_sql(
                compiler, connection, separator=self.separator,
                template="%(function)s(%(expressions)s,%(separator)s)",
                **extra_context
            )

Что бы я ни пробовал, я всегда получаю ошибку:

File "C:\Users\Gil\Gilles\Perso\Maison\Projets perso\Formacube\Formacube test App\Github_FormApp\FormApp\venv\lib\site-packages\django\db\backends\sqlite3\base.py", line 423, in execute
    return Database.Cursor.execute(self, query, params)
django.db.utils.OperationalError: near ")": syntax error
Вернуться на верх