sql >> Database >  >> RDS >> Mysql

GROUP_CONCAT equivalent in Django

U kunt uw eigen aggregatiefunctie maken (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)

en gebruik het gewoon als:

query_set = Fruits.objects.values('type').annotate(count=Count('type'),
                       name = Concat('name')).order_by('-count')

Ik gebruik django 1.8 en mysql 4.0.3



  1. Is er een manier om overbelasting van functies in Postgres uit te schakelen?

  2. Hoe te controleren of een database bestaat in SQL Server?

  3. sqlalchemy.exc.NoSuchModuleError:Kan plug-in niet laden:sqlalchemy.dialects:postgres

  4. Hoe SET ROWCOUNT werkt in SQL Server