See my [https://github.com/roques/django/tree/jsonb_agg branch] for my
initial implementation. — Is there a cleaner way to achieve this besides
redefining `JsonAgg.as_sql`?
{{{
ERROR: test_json_agg (postgres_tests.test_aggregates.TestGeneralAggregate)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/usr/lib/python3.4/unittest/case.py", line 58, in testPartExecutor
yield
File "/usr/lib/python3.4/unittest/case.py", line 577, in run
testMethod()
File "/home/roques/tools/django/django/test/testcases.py", line 1113, in
skip_wrapper
return test_func(*args, **kwargs)
File
"/home/roques/tools/django/tests/postgres_tests/test_aggregates.py", line
122, in test_json_agg
values =
AggregateTestModel.objects.aggregate(jsonagg=JsonAgg('char_field'))
File "/home/roques/tools/django/django/db/models/manager.py", line 85,
in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
File "/home/roques/tools/django/django/db/models/query.py", line 352, in
aggregate
return query.get_aggregation(self.db, kwargs.keys())
File "/home/roques/tools/django/django/db/models/sql/query.py", line
461, in get_aggregation
result = compiler.execute_sql(SINGLE)
File "/home/roques/tools/django/django/db/models/sql/compiler.py", line
829, in execute_sql
cursor.execute(sql, params)
File "/home/roques/tools/django/django/db/backends/utils.py", line 64,
in execute
return self.cursor.execute(sql, params)
File "/home/roques/tools/django/django/db/utils.py", line 94, in
__exit__
six.reraise(dj_exc_type, dj_exc_value, traceback)
File "/home/roques/tools/django/django/utils/six.py", line 685, in
reraise
raise value.with_traceback(tb)
File "/home/roques/tools/django/django/db/backends/utils.py", line 64,
in execute
return self.cursor.execute(sql, params)
django.db.utils.ProgrammingError: function jsonb_agg(character varying)
does not exist
LINE 1: SELECT JSONB_AGG("postgres_tests_aggregatetestmodel"."char_f...
^
HINT: No function matches the given name and argument types. You might
need to add explicit type casts.
}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/27478>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
Comment (by Mads Jensen):
Seems good. You may need to refer this ticket in the commit #26327.
--
Ticket URL: <https://code.djangoproject.com/ticket/27478#comment:1>
* status: new => closed
* resolution: => duplicate
* component: Uncategorized => contrib.postgres
Comment:
Since the new feature isn't released, we can reopen the original ticket to
keep the discussion in one place. Thanks for the report.
--
Ticket URL: <https://code.djangoproject.com/ticket/27478#comment:2>