Merge pull request #1871 from bagerard/improve_query_counter
Fix few things related to query_counter context manager
This commit is contained in:
		| @@ -4750,18 +4750,27 @@ class QuerySetTest(unittest.TestCase): | ||||
|         for i in range(100): | ||||
|             Person(name="No: %s" % i).save() | ||||
|  | ||||
|         with query_counter() as q: | ||||
|             self.assertEqual(q, 0) | ||||
|             people = Person.objects.no_cache() | ||||
|             with query_counter() as q: | ||||
|                 try: | ||||
|                     self.assertEqual(q, 0) | ||||
|                     people = Person.objects.no_cache() | ||||
|  | ||||
|             [x for x in people] | ||||
|             self.assertEqual(q, 1) | ||||
|                     [x for x in people] | ||||
|                     self.assertEqual(q, 1) | ||||
|  | ||||
|             list(people) | ||||
|             self.assertEqual(q, 2) | ||||
|                     list(people) | ||||
|                     self.assertEqual(q, 2) | ||||
|  | ||||
|                     people.count() | ||||
|                     self.assertEqual(q, 3) | ||||
|                 except AssertionError as exc: | ||||
|                     db = get_db() | ||||
|                     msg = '' | ||||
|                     for q in list(db.system.profile.find())[-50:]: | ||||
|                         msg += str([q['ts'], q['ns'], q.get('query'), q['op']])+'\n' | ||||
|                         msg += str(q) | ||||
|                     raise AssertionError(str(exc) + '\n'+msg) | ||||
|  | ||||
|             people.count() | ||||
|             self.assertEqual(q, 3) | ||||
|  | ||||
|     def test_cache_not_cloned(self): | ||||
|  | ||||
| @@ -5089,7 +5098,7 @@ class QuerySetTest(unittest.TestCase): | ||||
|                                            {"$ne": "%s.system.indexes" % q.db.name}})[0] | ||||
|  | ||||
|             self.assertFalse('$orderby' in op['query'], | ||||
|                              'BaseQuerySet must remove orderby from meta in boolen test') | ||||
|                              'BaseQuerySet must remove orderby from meta in boolean test') | ||||
|  | ||||
|             self.assertEqual(Person.objects.first().name, 'A') | ||||
|             self.assertTrue(Person.objects._has_data(), | ||||
|   | ||||
		Reference in New Issue
	
	Block a user