本文整理汇总了Python中django.db.models.aggregates.Avg方法的典型用法代码示例。如果您正苦于以下问题:Python aggregates.Avg方法的具体用法?Python aggregates.Avg怎么用?Python aggregates.Avg使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类django.db.models.aggregates
的用法示例。
在下文中一共展示了aggregates.Avg方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: check_expression_support
# 需要导入模块: from django.db.models import aggregates [as 别名]
# 或者: from django.db.models.aggregates import Avg [as 别名]
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.'
)
示例2: check_expression_support
# 需要导入模块: from django.db.models import aggregates [as 别名]
# 或者: from django.db.models.aggregates import Avg [as 别名]
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.'
)
示例3: check_expression_support
# 需要导入模块: from django.db.models import aggregates [as 别名]
# 或者: from django.db.models.aggregates import Avg [as 别名]
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
示例4: test_avg_salary_department
# 需要导入模块: from django.db.models import aggregates [as 别名]
# 或者: from django.db.models.aggregates import Avg [as 别名]
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))
示例5: check_expression_support
# 需要导入模块: from django.db.models import aggregates [as 别名]
# 或者: from django.db.models.aggregates import Avg [as 别名]
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
示例6: average_ctr_for_period
# 需要导入模块: from django.db.models import aggregates [as 别名]
# 或者: from django.db.models.aggregates import Avg [as 别名]
def average_ctr_for_period(self, start, finish):
return self.within_period(start, finish).aggregate(Avg('ctr'))
示例7: daily_average_ctr_for_period
# 需要导入模块: from django.db.models import aggregates [as 别名]
# 或者: from django.db.models.aggregates import Avg [as 别名]
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'))
示例8: average_cpc_for_period
# 需要导入模块: from django.db.models import aggregates [as 别名]
# 或者: from django.db.models.aggregates import Avg [as 别名]
def average_cpc_for_period(self, start, finish):
return self.within_period(start, finish).aggregate(Avg('avg_cpc'))
示例9: daily_average_cpc_for_period
# 需要导入模块: from django.db.models import aggregates [as 别名]
# 或者: from django.db.models.aggregates import Avg [as 别名]
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'))
示例10: average_click_conversion_rate_for_period
# 需要导入模块: from django.db.models import aggregates [as 别名]
# 或者: from django.db.models.aggregates import Avg [as 别名]
def average_click_conversion_rate_for_period(self, start, finish):
return self.within_period(start, finish).aggregate(Avg('click_conversion_rate'))
示例11: average_cost_conv_for_period
# 需要导入模块: from django.db.models import aggregates [as 别名]
# 或者: from django.db.models.aggregates import Avg [as 别名]
def average_cost_conv_for_period(self, start, finish):
return self.within_period(start, finish).aggregate(Avg('cost_conv'))
示例12: daily_average_cost_conv_for_period
# 需要导入模块: from django.db.models import aggregates [as 别名]
# 或者: from django.db.models.aggregates import Avg [as 别名]
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'))
示例13: average_search_lost_impression_share_budget
# 需要导入模块: from django.db.models import aggregates [as 别名]
# 或者: from django.db.models.aggregates import Avg [as 别名]
def average_search_lost_impression_share_budget(self, start, finish):
return self.within_period(start, finish).aggregate(Avg('search_lost_is_budget'))
示例14: device_average_click_conversion_rate_for_period
# 需要导入模块: from django.db.models import aggregates [as 别名]
# 或者: from django.db.models.aggregates import Avg [as 别名]
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'))
示例15: top_by_clicks
# 需要导入模块: from django.db.models import aggregates [as 别名]
# 或者: from django.db.models.aggregates import Avg [as 别名]
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')