Python django.db.models.aggregates.Avg() Examples
The following are 20
code examples of django.db.models.aggregates.Avg().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
django.db.models.aggregates
, or try the search function
.

Example #1
Source File: tests.py From djongo with GNU Affero General Public License v3.0 | 6 votes |
def test_avg_salary_department(self): qs = Employee.objects.annotate(avg_salary=Window( expression=Avg('salary'), order_by=F('department').asc(), partition_by='department', )).order_by('department', '-salary', 'name') self.assertQuerysetEqual(qs, [ ('Adams', 50000, 'Accounting', 44250.00), ('Jenson', 45000, 'Accounting', 44250.00), ('Jones', 45000, 'Accounting', 44250.00), ('Williams', 37000, 'Accounting', 44250.00), ('Wilkinson', 60000, 'IT', 47000.00), ('Moore', 34000, 'IT', 47000.00), ('Miller', 100000, 'Management', 90000.00), ('Johnson', 80000, 'Management', 90000.00), ('Johnson', 40000, 'Marketing', 39000.00), ('Smith', 38000, 'Marketing', 39000.00), ('Smith', 55000, 'Sales', 54000.00), ('Brown', 53000, 'Sales', 54000.00), ], transform=lambda row: (row.name, row.salary, row.department, row.avg_salary))
Example #2
Source File: operations.py From python2017 with MIT License | 6 votes |
def check_expression_support(self, expression): bad_fields = (fields.DateField, fields.DateTimeField, fields.TimeField) bad_aggregates = (aggregates.Sum, aggregates.Avg, aggregates.Variance, aggregates.StdDev) if isinstance(expression, bad_aggregates): for expr in expression.get_source_expressions(): try: output_field = expr.output_field if isinstance(output_field, bad_fields): raise NotImplementedError( 'You cannot use Sum, Avg, StdDev, and Variance ' 'aggregations on date/time fields in sqlite3 ' 'since date/time is saved as text.' ) except FieldError: # Not every subexpression has an output_field which is fine # to ignore. pass
Example #3
Source File: operations.py From openhgsenti with Apache License 2.0 | 6 votes |
def check_expression_support(self, expression): bad_fields = (fields.DateField, fields.DateTimeField, fields.TimeField) bad_aggregates = (aggregates.Sum, aggregates.Avg, aggregates.Variance, aggregates.StdDev) if isinstance(expression, bad_aggregates): for expr in expression.get_source_expressions(): try: output_field = expr.output_field if isinstance(output_field, bad_fields): raise NotImplementedError( 'You cannot use Sum, Avg, StdDev, and Variance ' 'aggregations on date/time fields in sqlite3 ' 'since date/time is saved as text.' ) except FieldError: # Not every subexpression has an output_field which is fine # to ignore. pass
Example #4
Source File: operations.py From python with Apache License 2.0 | 6 votes |
def check_expression_support(self, expression): bad_fields = (fields.DateField, fields.DateTimeField, fields.TimeField) bad_aggregates = (aggregates.Sum, aggregates.Avg, aggregates.Variance, aggregates.StdDev) if isinstance(expression, bad_aggregates): for expr in expression.get_source_expressions(): try: output_field = expr.output_field if isinstance(output_field, bad_fields): raise NotImplementedError( 'You cannot use Sum, Avg, StdDev, and Variance ' 'aggregations on date/time fields in sqlite3 ' 'since date/time is saved as text.' ) except FieldError: # Not every subexpression has an output_field which is fine # to ignore. pass
Example #5
Source File: models.py From django-google-adwords with MIT License | 5 votes |
def device_average_click_conversion_rate_for_period(self, start, finish): return self.within_period(start, finish).values('device').annotate(click_conversion_rate=Avg('click_conversion_rate'))
Example #6
Source File: tests.py From djongo with GNU Affero General Public License v3.0 | 5 votes |
def test_window_repr(self): self.assertEqual( repr(Window(expression=Sum('salary'), partition_by='department')), '<Window: Sum(F(salary)) OVER (PARTITION BY F(department))>' ) self.assertEqual( repr(Window(expression=Avg('salary'), order_by=F('department').asc())), '<Window: Avg(F(salary)) OVER (ORDER BY OrderBy(F(department), descending=False))>' )
Example #7
Source File: operations.py From Hands-On-Application-Development-with-PyCharm with MIT License | 5 votes |
def check_expression_support(self, expression): bad_fields = (fields.DateField, fields.DateTimeField, fields.TimeField) bad_aggregates = (aggregates.Sum, aggregates.Avg, aggregates.Variance, aggregates.StdDev) if isinstance(expression, bad_aggregates): for expr in expression.get_source_expressions(): try: output_field = expr.output_field except FieldError: # Not every subexpression has an output_field which is fine # to ignore. pass else: if isinstance(output_field, bad_fields): raise utils.NotSupportedError( 'You cannot use Sum, Avg, StdDev, and Variance ' 'aggregations on date/time fields in sqlite3 ' 'since date/time is saved as text.' )
Example #8
Source File: models.py From django-google-adwords with MIT License | 5 votes |
def top_by_conversion_rate(self, start, finish): return self.filter(metrics__day__gte=start, metrics__day__lte=finish) \ .annotate(conversions=Sum('metrics__conversions'), conv_rate=Avg('metrics__conv_rate'), cost_conv=Avg('metrics__cost_conv'), impressions=Sum('metrics__impressions'), clicks=Sum('metrics__clicks'), cost=Sum('metrics__cost'), ctr=Avg('metrics__ctr'), avg_cpc=Avg('metrics__avg_cpc')) \ .order_by('-conversions')
Example #9
Source File: models.py From django-google-adwords with MIT License | 5 votes |
def top_by_clicks(self, start, finish): return self.filter(metrics__day__gte=start, metrics__day__lte=finish) \ .annotate(clicks=Sum('metrics__clicks'), impressions=Sum('metrics__impressions'), ctr=Avg('metrics__ctr'), cost=Sum('metrics__cost'), avg_position=Avg('metrics__avg_position')) \ .order_by('-clicks')
Example #10
Source File: models.py From django-google-adwords with MIT License | 5 votes |
def top_by_clicks(self, start, finish): return self.filter(metrics__day__gte=start, metrics__day__lte=finish) \ .annotate(clicks=Sum('metrics__clicks'), impressions=Sum('metrics__impressions'), ctr=Avg('metrics__ctr'), cost=Sum('metrics__cost'), avg_position=Avg('metrics__avg_position')) \ .order_by('-clicks')
Example #11
Source File: operations.py From GTDWeb with GNU General Public License v2.0 | 5 votes |
def check_expression_support(self, expression): bad_fields = (fields.DateField, fields.DateTimeField, fields.TimeField) bad_aggregates = (aggregates.Sum, aggregates.Avg, aggregates.Variance, aggregates.StdDev) if isinstance(expression, bad_aggregates): try: output_field = expression.input_field.output_field if isinstance(output_field, bad_fields): raise NotImplementedError( 'You cannot use Sum, Avg, StdDev and Variance aggregations ' 'on date/time fields in sqlite3 ' 'since date/time is saved as text.') except FieldError: # not every sub-expression has an output_field which is fine to # ignore pass
Example #12
Source File: models.py From django-google-adwords with MIT License | 5 votes |
def average_search_lost_impression_share_budget(self, start, finish): return self.within_period(start, finish).aggregate(Avg('search_lost_is_budget'))
Example #13
Source File: models.py From django-google-adwords with MIT License | 5 votes |
def daily_average_cost_conv_for_period(self, start, finish, order_by='day'): return self.within_period(start, finish).order_by(order_by).values('day').annotate(cost_conv=Avg('cost_conv'))
Example #14
Source File: models.py From django-google-adwords with MIT License | 5 votes |
def average_cost_conv_for_period(self, start, finish): return self.within_period(start, finish).aggregate(Avg('cost_conv'))
Example #15
Source File: models.py From django-google-adwords with MIT License | 5 votes |
def average_click_conversion_rate_for_period(self, start, finish): return self.within_period(start, finish).aggregate(Avg('click_conversion_rate'))
Example #16
Source File: models.py From django-google-adwords with MIT License | 5 votes |
def daily_average_cpc_for_period(self, start, finish, order_by='day'): return self.within_period(start, finish).order_by(order_by).values('day').annotate(cpc=Avg('avg_cpc'))
Example #17
Source File: models.py From django-google-adwords with MIT License | 5 votes |
def average_cpc_for_period(self, start, finish): return self.within_period(start, finish).aggregate(Avg('avg_cpc'))
Example #18
Source File: models.py From django-google-adwords with MIT License | 5 votes |
def daily_average_ctr_for_period(self, start, finish, order_by='day'): return self.within_period(start, finish).order_by(order_by).values('day').annotate(ctr=Avg('ctr'))
Example #19
Source File: models.py From django-google-adwords with MIT License | 5 votes |
def average_ctr_for_period(self, start, finish): return self.within_period(start, finish).aggregate(Avg('ctr'))
Example #20
Source File: operations.py From bioforum with MIT License | 5 votes |
def check_expression_support(self, expression): bad_fields = (fields.DateField, fields.DateTimeField, fields.TimeField) bad_aggregates = (aggregates.Sum, aggregates.Avg, aggregates.Variance, aggregates.StdDev) if isinstance(expression, bad_aggregates): for expr in expression.get_source_expressions(): try: output_field = expr.output_field except FieldError: # Not every subexpression has an output_field which is fine # to ignore. pass else: if isinstance(output_field, bad_fields): raise NotImplementedError( 'You cannot use Sum, Avg, StdDev, and Variance ' 'aggregations on date/time fields in sqlite3 ' 'since date/time is saved as text.' )