diff options
Diffstat (limited to 'django/db/models/sql/datastructures.py')
| -rw-r--r-- | django/db/models/sql/datastructures.py | 53 |
1 files changed, 0 insertions, 53 deletions
diff --git a/django/db/models/sql/datastructures.py b/django/db/models/sql/datastructures.py index 913d8fde25..4d53999c79 100644 --- a/django/db/models/sql/datastructures.py +++ b/django/db/models/sql/datastructures.py @@ -25,59 +25,6 @@ class RawValue(object): def __init__(self, value): self.value = value -class Aggregate(object): - """ - Base class for all aggregate-related classes (min, max, avg, count, sum). - """ - def relabel_aliases(self, change_map): - """ - Relabel the column alias, if necessary. Must be implemented by - subclasses. - """ - raise NotImplementedError - - def as_sql(self, quote_func=None): - """ - Returns the SQL string fragment for this object. - - The quote_func function is used to quote the column components. If - None, it defaults to doing nothing. - - Must be implemented by subclasses. - """ - raise NotImplementedError - -class Count(Aggregate): - """ - Perform a count on the given column. - """ - def __init__(self, col='*', distinct=False): - """ - Set the column to count on (defaults to '*') and set whether the count - should be distinct or not. - """ - self.col = col - self.distinct = distinct - - def relabel_aliases(self, change_map): - c = self.col - if isinstance(c, (list, tuple)): - self.col = (change_map.get(c[0], c[0]), c[1]) - - def as_sql(self, quote_func=None): - if not quote_func: - quote_func = lambda x: x - if isinstance(self.col, (list, tuple)): - col = ('%s.%s' % tuple([quote_func(c) for c in self.col])) - elif hasattr(self.col, 'as_sql'): - col = self.col.as_sql(quote_func) - else: - col = self.col - if self.distinct: - return 'COUNT(DISTINCT %s)' % col - else: - return 'COUNT(%s)' % col - class Date(object): """ Add a date selection column. |
