You can create your own Aggregate Function (doc)
from django.db.models import Aggregate
class Concat(Aggregate):
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)
and use it simply as:
query_set = Fruits.objects.values('type').annotate(count=Count('type'),
name = Concat('name')).order_by('-count')
I am using django 1.8 and mysql 4.0.3