diff -r django-original/db/backends/mysql/base.py django/db/backends/mysql/base.py 306a307,309 > > def distinct_sql(self, fields): > return 'DISTINCT' Binary files django-original/db/backends/mysql/base.pyc and django/db/backends/mysql/base.pyc differ diff -r django-original/db/backends/mysql/compiler.py django/db/backends/mysql/compiler.py 3a4,5 > distinct_via_group_by = [] > 13a16,34 > def get_distinct(self): > """MySQL DISTINCT for several fields. > Implementation in MySQL: > > SELECT `field1`, `field2`, ..., `fieldN` FROM `table` GROUP BY `field1`, `field2` ORDER BY NULL; > For a similar statement in PostgreSQL: > > SELECT DISTINCT ON(`field1`, `field2`) `field1`, `field2`, ..., `fieldN` FROM `table`; > """ > distinct_fields = super(SQLCompiler, self).get_distinct() > self.distinct_via_group_by = [] > for field in distinct_fields: > self.distinct_via_group_by.append(field) > # Suppression: NotImplementedError("annotate() + distinct(fields) not implemented.") > return [] if self.query.distinct_fields else None > > def get_grouping(self): > grouping, gb_params = super(SQLCompiler, self).get_grouping() > if self.distinct_via_group_by: > grouping = self.distinct_via_group_by + grouping > return grouping, gb_params Binary files django-original/db/backends/mysql/compiler.pyc and django/db/backends/mysql/compiler.pyc differ diff -r django-original/db/models/sql/compiler.py django/db/models/sql/compiler.py 90a91,93 > distinct_sql = self.connection.ops.distinct_sql(distinct_fields) > if distinct_sql: > result.append(distinct_sql) Binary files django-original/db/models/sql/compiler.pyc and django/db/models/sql/compiler.pyc differ