diff --git a/events/forms.py b/events/forms.py index d0d13815..879223e1 100644 --- a/events/forms.py +++ b/events/forms.py @@ -264,7 +264,7 @@ class FilterForm(forms.Form): qs.query.having.add(ExtraWhere(having, [], OR), AND) qs = qs.values(*values).order_by(*order_by) self.fields[field].queryset = qs - print(self.fields[field].queryset.query) + # print(self.fields[field].queryset.query) for field in ['members', 'visitors', 'price']: self.fields[field].choices = self.make_local_field_count(field) or self.fields[field].choices @@ -422,7 +422,7 @@ class FilterForm(forms.Form): } select = \ - '''SELECT COUNT(`{m2m_db_table}`.`{m2m_column_name}`) FROM `{m2m_db_table}` INNER JOIN `{db_table}` ON (`{m2m_db_table}`.`{m2m_column_name}` = `{db_table}`.`id`) '''\ + '''SELECT COUNT(DISTINCT `{m2m_db_table}`.`{m2m_column_name}`) FROM `{m2m_db_table}` INNER JOIN `{db_table}` ON (`{m2m_db_table}`.`{m2m_column_name}` = `{db_table}`.`id`) '''\ .format(**format_kwargs) where.append( ''' (`{m2m_rel_to_table}_translation`.`master_id` = `{m2m_db_table}`.`{m2m_reverse_name}`) AND `{m2m_rel_to_table}_translation`.`language_code` = '{lang}' '''.format(**format_kwargs) @@ -438,7 +438,7 @@ class FilterForm(forms.Form): # 'attname': _field.related.field.get_attname(), } select = \ - '''SELECT COUNT(`{db_table}`.`{attname}`) FROM `{db_table}`'''\ + '''SELECT COUNT(DISTINCT `{db_table}`.`{attname}`) FROM `{db_table}`'''\ .format(**_format_kwargs) # '''SELECT COUNT(`{db_table}`.`id`) FROM `{rel_db_table}` LEFT OUTER JOIN `{db_table}` ON (`{rel_db_table}`.`id` = `{db_table}`.`{attname}`)'''\ where.append(