diff --git a/docs/changelog.rst b/docs/changelog.rst index 48e8b9aa..b9ad5b0e 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -25,6 +25,7 @@ Changes in 0.9.X - DEV - Updated URL and Email Field regex validators, added schemes argument to URLField validation. #652 - Removed get_or_create() deprecated since 0.8.0. #300 - Capped collection multiple of 256. #1011 +- Added `BaseQuerySet.aggregate_sum` and `BaseQuerySet.aggregate_average` methods. Changes in 0.9.0 ================ diff --git a/mongoengine/queryset/base.py b/mongoengine/queryset/base.py index b949e121..c3abd46a 100644 --- a/mongoengine/queryset/base.py +++ b/mongoengine/queryset/base.py @@ -1263,11 +1263,10 @@ class BaseQuerySet(object): ]) if IS_PYMONGO_3: result = list(result) - if result: - return result[0]['total'] else: - if result['result']: - return result['result'][0]['total'] + result = result.get('result') + if result: + return result[0]['total'] return 0 def average(self, field): @@ -1340,11 +1339,10 @@ class BaseQuerySet(object): ]) if IS_PYMONGO_3: result = list(result) - if result: - return result[0]['total'] else: - if result['result']: - return result['result'][0]['total'] + result = result.get('result') + if result: + return result[0]['total'] return 0 def item_frequencies(self, field, normalize=False, map_reduce=True):