diff options
author | Srinivas Reddy Thatiparthy (శ్రీనివాస్ రెడ్డి తాటిపర్తి) <srinivasreddy@users.noreply.github.com> | 2018-08-21 21:47:46 +0530 |
---|---|---|
committer | Tim Graham <timograham@gmail.com> | 2018-08-21 12:17:46 -0400 |
commit | 233c70f0479beb3bff9027e6cff680882978fd4d (patch) | |
tree | 3b557b0703a23b7f96d4a4ce77832b6cbccefd15 /tests/admin_changelist | |
parent | 201017df308266c7d5ed20181e6d0ffa5832e3e9 (diff) | |
download | django-233c70f0479beb3bff9027e6cff680882978fd4d.tar.gz |
Fixed #29658 -- Registered model lookups in tests with a context manager.
Diffstat (limited to 'tests/admin_changelist')
-rw-r--r-- | tests/admin_changelist/tests.py | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/tests/admin_changelist/tests.py b/tests/admin_changelist/tests.py index c12bfc7c93..ccf115a2e4 100644 --- a/tests/admin_changelist/tests.py +++ b/tests/admin_changelist/tests.py @@ -16,7 +16,7 @@ from django.db.models.lookups import Contains, Exact from django.template import Context, Template, TemplateSyntaxError from django.test import TestCase, override_settings from django.test.client import RequestFactory -from django.test.utils import CaptureQueriesContext +from django.test.utils import CaptureQueriesContext, register_lookup from django.urls import reverse from django.utils import formats @@ -480,8 +480,7 @@ class ChangeListTests(TestCase): m = ConcertAdmin(Concert, custom_site) m.search_fields = ['group__name__cc'] - Field.register_lookup(Contains, 'cc') - try: + with register_lookup(Field, Contains, lookup_name='cc'): request = self.factory.get('/', data={SEARCH_VAR: 'Hype'}) request.user = self.superuser cl = m.get_changelist_instance(request) @@ -491,8 +490,6 @@ class ChangeListTests(TestCase): request.user = self.superuser cl = m.get_changelist_instance(request) self.assertCountEqual(cl.queryset, []) - finally: - Field._unregister_lookup(Contains, 'cc') def test_spanning_relations_with_custom_lookup_in_search_fields(self): hype = Group.objects.create(name='The Hype') @@ -501,8 +498,7 @@ class ChangeListTests(TestCase): Membership.objects.create(music=vox, group=hype) # Register a custom lookup on IntegerField to ensure that field # traversing logic in ModelAdmin.get_search_results() works. - IntegerField.register_lookup(Exact, 'exactly') - try: + with register_lookup(IntegerField, Exact, lookup_name='exactly'): m = ConcertAdmin(Concert, custom_site) m.search_fields = ['group__members__age__exactly'] @@ -515,8 +511,6 @@ class ChangeListTests(TestCase): request.user = self.superuser cl = m.get_changelist_instance(request) self.assertCountEqual(cl.queryset, []) - finally: - IntegerField._unregister_lookup(Exact, 'exactly') def test_custom_lookup_with_pk_shortcut(self): self.assertEqual(CharPK._meta.pk.name, 'char_pk') # Not equal to 'pk'. |