Fixed QuerySet.average issue that ignored 0
This commit is contained in:
@@ -960,11 +960,14 @@ class QuerySetTest(unittest.TestCase):
|
||||
def test_average(self):
|
||||
"""Ensure that field can be averaged correctly.
|
||||
"""
|
||||
self.Person(name='person', age=0).save()
|
||||
self.assertEqual(int(self.Person.objects.average('age')), 0)
|
||||
|
||||
ages = [23, 54, 12, 94, 27]
|
||||
for i, age in enumerate(ages):
|
||||
self.Person(name='test%s' % i, age=age).save()
|
||||
|
||||
avg = float(sum(ages)) / len(ages)
|
||||
avg = float(sum(ages)) / (len(ages) + 1) # take into account the 0
|
||||
self.assertAlmostEqual(int(self.Person.objects.average('age')), avg)
|
||||
|
||||
self.Person(name='ageless person').save()
|
||||
@@ -1340,5 +1343,6 @@ class QTest(unittest.TestCase):
|
||||
self.assertEqual(Post.objects.filter(created_user=user).count(), 1)
|
||||
self.assertEqual(Post.objects.filter(Q(created_user=user)).count(), 1)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
|
||||
Reference in New Issue
Block a user