diff options
| author | Loic Bistuer <loic.bistuer@sixmedia.com> | 2013-03-08 09:15:23 -0500 |
|---|---|---|
| committer | Simon Charette <charette.s@gmail.com> | 2013-03-08 10:11:45 -0500 |
| commit | 6983a1a540a6e6c3bd941fa15ddd8cb49f9ec74e (patch) | |
| tree | e57559ebfd704705458e6e218dc1f3d868b2922c /tests | |
| parent | 477d737e1e6bdf93950c8a381906925c594fac2f (diff) | |
Fixed #15363 -- Renamed and normalized to `get_queryset` the methods that return a QuerySet.
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/admin_changelist/admin.py | 8 | ||||
| -rw-r--r-- | tests/admin_changelist/models.py | 4 | ||||
| -rw-r--r-- | tests/admin_changelist/tests.py | 14 | ||||
| -rw-r--r-- | tests/admin_filters/tests.py | 50 | ||||
| -rw-r--r-- | tests/admin_ordering/tests.py | 20 | ||||
| -rw-r--r-- | tests/admin_views/admin.py | 36 | ||||
| -rw-r--r-- | tests/admin_views/customadmin.py | 4 | ||||
| -rw-r--r-- | tests/admin_views/tests.py | 12 | ||||
| -rw-r--r-- | tests/admin_widgets/models.py | 4 | ||||
| -rw-r--r-- | tests/custom_managers/models.py | 10 | ||||
| -rw-r--r-- | tests/custom_managers_regress/models.py | 4 | ||||
| -rw-r--r-- | tests/deprecation/__init__.py | 0 | ||||
| -rw-r--r-- | tests/deprecation/models.py | 0 | ||||
| -rw-r--r-- | tests/deprecation/tests.py | 158 | ||||
| -rw-r--r-- | tests/fixtures/models.py | 4 | ||||
| -rw-r--r-- | tests/generic_relations/models.py | 4 | ||||
| -rw-r--r-- | tests/get_object_or_404/models.py | 4 | ||||
| -rw-r--r-- | tests/managers_regress/models.py | 12 | ||||
| -rw-r--r-- | tests/modeladmin/tests.py | 4 | ||||
| -rw-r--r-- | tests/prefetch_related/models.py | 4 | ||||
| -rw-r--r-- | tests/proxy_models/models.py | 8 | ||||
| -rw-r--r-- | tests/queries/models.py | 8 | ||||
| -rw-r--r-- | tests/reverse_single_related/models.py | 4 |
23 files changed, 267 insertions, 109 deletions
diff --git a/tests/admin_changelist/admin.py b/tests/admin_changelist/admin.py index 5751d04bce..8387ba77a1 100644 --- a/tests/admin_changelist/admin.py +++ b/tests/admin_changelist/admin.py @@ -34,8 +34,8 @@ class ChildAdmin(admin.ModelAdmin): list_per_page = 10 list_filter = ['parent', 'age'] - def queryset(self, request): - return super(ChildAdmin, self).queryset(request).select_related("parent__name") + def get_queryset(self, request): + return super(ChildAdmin, self).get_queryset(request).select_related("parent__name") class CustomPaginationAdmin(ChildAdmin): @@ -46,8 +46,8 @@ class FilteredChildAdmin(admin.ModelAdmin): list_display = ['name', 'parent'] list_per_page = 10 - def queryset(self, request): - return super(FilteredChildAdmin, self).queryset(request).filter( + def get_queryset(self, request): + return super(FilteredChildAdmin, self).get_queryset(request).filter( name__contains='filtered') diff --git a/tests/admin_changelist/models.py b/tests/admin_changelist/models.py index 4ba2f9c503..786b4385aa 100644 --- a/tests/admin_changelist/models.py +++ b/tests/admin_changelist/models.py @@ -74,8 +74,8 @@ class UnorderedObject(models.Model): class OrderedObjectManager(models.Manager): - def get_query_set(self): - return super(OrderedObjectManager, self).get_query_set().order_by('number') + def get_queryset(self): + return super(OrderedObjectManager, self).get_queryset().order_by('number') class OrderedObject(models.Model): """ diff --git a/tests/admin_changelist/tests.py b/tests/admin_changelist/tests.py index bb39f22411..05cdcdb73d 100644 --- a/tests/admin_changelist/tests.py +++ b/tests/admin_changelist/tests.py @@ -39,15 +39,15 @@ class ChangeListTests(TestCase): def test_select_related_preserved(self): """ - Regression test for #10348: ChangeList.get_query_set() shouldn't - overwrite a custom select_related provided by ModelAdmin.queryset(). + Regression test for #10348: ChangeList.get_queryset() shouldn't + overwrite a custom select_related provided by ModelAdmin.get_queryset(). """ m = ChildAdmin(Child, admin.site) request = self.factory.get('/child/') cl = ChangeList(request, Child, m.list_display, m.list_display_links, m.list_filter, m.date_hierarchy, m.search_fields, m.list_select_related, m.list_per_page, m.list_max_show_all, m.list_editable, m) - self.assertEqual(cl.query_set.query.select_related, {'parent': {'name': {}}}) + self.assertEqual(cl.queryset.query.select_related, {'parent': {'name': {}}}) def test_result_list_empty_changelist_value(self): """ @@ -277,7 +277,7 @@ class ChangeListTests(TestCase): m.list_max_show_all, m.list_editable, m) # Make sure distinct() was called - self.assertEqual(cl.query_set.count(), 1) + self.assertEqual(cl.queryset.count(), 1) def test_distinct_for_non_unique_related_object_in_search_fields(self): """ @@ -297,7 +297,7 @@ class ChangeListTests(TestCase): m.list_max_show_all, m.list_editable, m) # Make sure distinct() was called - self.assertEqual(cl.query_set.count(), 1) + self.assertEqual(cl.queryset.count(), 1) def test_pagination(self): """ @@ -317,7 +317,7 @@ class ChangeListTests(TestCase): m.list_filter, m.date_hierarchy, m.search_fields, m.list_select_related, m.list_per_page, m.list_max_show_all, m.list_editable, m) - self.assertEqual(cl.query_set.count(), 60) + self.assertEqual(cl.queryset.count(), 60) self.assertEqual(cl.paginator.count, 60) self.assertEqual(list(cl.paginator.page_range), [1, 2, 3, 4, 5, 6]) @@ -327,7 +327,7 @@ class ChangeListTests(TestCase): m.list_filter, m.date_hierarchy, m.search_fields, m.list_select_related, m.list_per_page, m.list_max_show_all, m.list_editable, m) - self.assertEqual(cl.query_set.count(), 30) + self.assertEqual(cl.queryset.count(), 30) self.assertEqual(cl.paginator.count, 30) self.assertEqual(list(cl.paginator.page_range), [1, 2, 3]) diff --git a/tests/admin_filters/tests.py b/tests/admin_filters/tests.py index 11f792e07a..f05e8e2011 100644 --- a/tests/admin_filters/tests.py +++ b/tests/admin_filters/tests.py @@ -61,7 +61,7 @@ class DecadeListFilterWithFailingQueryset(DecadeListFilterWithTitleAndParameter) class DecadeListFilterWithQuerysetBasedLookups(DecadeListFilterWithTitleAndParameter): def lookups(self, request, model_admin): - qs = model_admin.queryset(request) + qs = model_admin.get_queryset(request) if qs.filter(year__gte=1980, year__lte=1989).exists(): yield ('the 80s', "the 1980's") if qs.filter(year__gte=1990, year__lte=1999).exists(): @@ -86,7 +86,7 @@ class DepartmentListFilterLookupWithNonStringValue(SimpleListFilter): return sorted(set([ (employee.department.id, # Intentionally not a string (Refs #19318) employee.department.code) - for employee in model_admin.queryset(request).all() + for employee in model_admin.get_queryset(request).all() ])) def queryset(self, request, queryset): @@ -183,7 +183,7 @@ class ListFiltersTests(TestCase): changelist = self.get_changelist(request, Book, modeladmin) # Make sure the correct queryset is returned - queryset = changelist.get_query_set(request) + queryset = changelist.get_queryset(request) self.assertEqual(list(queryset), [self.django_book, self.djangonaut_book]) # Make sure the correct choice is selected @@ -200,7 +200,7 @@ class ListFiltersTests(TestCase): changelist = self.get_changelist(request, Book, modeladmin) # Make sure the correct queryset is returned - queryset = changelist.get_query_set(request) + queryset = changelist.get_queryset(request) if (self.today.year, self.today.month) == (self.one_week_ago.year, self.one_week_ago.month): # In case one week ago is in the same month. self.assertEqual(list(queryset), [self.gipsy_book, self.django_book, self.djangonaut_book]) @@ -221,7 +221,7 @@ class ListFiltersTests(TestCase): changelist = self.get_changelist(request, Book, modeladmin) # Make sure the correct queryset is returned - queryset = changelist.get_query_set(request) + queryset = changelist.get_queryset(request) if self.today.year == self.one_week_ago.year: # In case one week ago is in the same year. self.assertEqual(list(queryset), [self.gipsy_book, self.django_book, self.djangonaut_book]) @@ -242,7 +242,7 @@ class ListFiltersTests(TestCase): changelist = self.get_changelist(request, Book, modeladmin) # Make sure the correct queryset is returned - queryset = changelist.get_query_set(request) + queryset = changelist.get_queryset(request) self.assertEqual(list(queryset), [self.gipsy_book, self.django_book, self.djangonaut_book]) # Make sure the correct choice is selected @@ -266,7 +266,7 @@ class ListFiltersTests(TestCase): changelist = self.get_changelist(request, Book, modeladmin) # Make sure the correct queryset is returned - queryset = changelist.get_query_set(request) + queryset = changelist.get_queryset(request) self.assertEqual(list(queryset), [self.django_book]) # Make sure the last choice is None and is selected @@ -293,7 +293,7 @@ class ListFiltersTests(TestCase): changelist = self.get_changelist(request, Book, modeladmin) # Make sure the correct queryset is returned - queryset = changelist.get_query_set(request) + queryset = changelist.get_queryset(request) self.assertEqual(list(queryset), [self.gipsy_book]) # Make sure the last choice is None and is selected @@ -321,7 +321,7 @@ class ListFiltersTests(TestCase): changelist = self.get_changelist(request, Book, modeladmin) # Make sure the correct queryset is returned - queryset = changelist.get_query_set(request) + queryset = changelist.get_queryset(request) self.assertEqual(list(queryset), [self.django_book, self.bio_book, self.djangonaut_book]) # Make sure the last choice is None and is selected @@ -349,7 +349,7 @@ class ListFiltersTests(TestCase): changelist = self.get_changelist(request, User, modeladmin) # Make sure the correct queryset is returned - queryset = changelist.get_query_set(request) + queryset = changelist.get_queryset(request) self.assertEqual(list(queryset), [self.lisa]) # Make sure the last choice is None and is selected @@ -374,7 +374,7 @@ class ListFiltersTests(TestCase): changelist = self.get_changelist(request, User, modeladmin) # Make sure the correct queryset is returned - queryset = changelist.get_query_set(request) + queryset = changelist.get_queryset(request) self.assertEqual(list(queryset), [self.alfred]) # Make sure the last choice is None and is selected @@ -410,7 +410,7 @@ class ListFiltersTests(TestCase): changelist = self.get_changelist(request, Book, modeladmin) # Make sure the correct queryset is returned - queryset = changelist.get_query_set(request) + queryset = changelist.get_queryset(request) self.assertEqual(list(queryset), [self.bio_book]) # Make sure the correct choice is selected @@ -424,7 +424,7 @@ class ListFiltersTests(TestCase): changelist = self.get_changelist(request, Book, modeladmin) # Make sure the correct queryset is returned - queryset = changelist.get_query_set(request) + queryset = changelist.get_queryset(request) self.assertEqual(list(queryset), [self.gipsy_book, self.djangonaut_book]) # Make sure the correct choice is selected @@ -438,7 +438,7 @@ class ListFiltersTests(TestCase): changelist = self.get_changelist(request, Book, modeladmin) # Make sure the correct queryset is returned - queryset = changelist.get_query_set(request) + queryset = changelist.get_queryset(request) self.assertEqual(list(queryset), [self.django_book]) # Make sure the correct choice is selected @@ -457,7 +457,7 @@ class ListFiltersTests(TestCase): changelist = self.get_changelist(request, Book, modeladmin) # Make sure the correct queryset is returned - queryset = changelist.get_query_set(request) + queryset = changelist.get_queryset(request) self.assertEqual(list(queryset), list(Book.objects.all().order_by('-id'))) # Make sure the correct choice is selected @@ -474,7 +474,7 @@ class ListFiltersTests(TestCase): changelist = self.get_changelist(request, Book, modeladmin) # Make sure the correct queryset is returned - queryset = changelist.get_query_set(request) + queryset = changelist.get_queryset(request) self.assertEqual(list(queryset), []) # Make sure the correct choice is selected @@ -491,7 +491,7 @@ class ListFiltersTests(TestCase): changelist = self.get_changelist(request, Book, modeladmin) # Make sure the correct queryset is returned - queryset = changelist.get_query_set(request) + queryset = changelist.get_queryset(request) self.assertEqual(list(queryset), [self.bio_book]) # Make sure the correct choice is selected @@ -508,7 +508,7 @@ class ListFiltersTests(TestCase): changelist = self.get_changelist(request, Book, modeladmin) # Make sure the correct queryset is returned - queryset = changelist.get_query_set(request) + queryset = changelist.get_queryset(request) self.assertEqual(list(queryset), [self.gipsy_book, self.djangonaut_book]) # Make sure the correct choice is selected @@ -525,7 +525,7 @@ class ListFiltersTests(TestCase): changelist = self.get_changelist(request, Book, modeladmin) # Make sure the correct queryset is returned - queryset = changelist.get_query_set(request) + queryset = changelist.get_queryset(request) self.assertEqual(list(queryset), [self.djangonaut_book]) # Make sure the correct choices are selected @@ -615,7 +615,7 @@ class ListFiltersTests(TestCase): changelist = self.get_changelist(request, Book, modeladmin) # Make sure the correct queryset is returned - queryset = changelist.get_query_set(request) + queryset = changelist.get_queryset(request) self.assertEqual(list(queryset), [self.bio_book]) filterspec = changelist.get_filters(request)[0][-1] @@ -637,7 +637,7 @@ class ListFiltersTests(TestCase): changelist = self.get_changelist(request, Book, modeladmin) # Make sure the correct queryset is returned - queryset = changelist.get_query_set(request) + queryset = changelist.get_queryset(request) self.assertEqual(list(queryset), [self.bio_book]) # Make sure the correct choice is selected @@ -654,7 +654,7 @@ class ListFiltersTests(TestCase): changelist = self.get_changelist(request, Book, modeladmin) # Make sure the correct queryset is returned - queryset = changelist.get_query_set(request) + queryset = changelist.get_queryset(request) self.assertEqual(list(queryset), [self.bio_book]) # Make sure the correct choice is selected @@ -676,7 +676,7 @@ class ListFiltersTests(TestCase): request = self.request_factory.get('/', {'department': self.john.pk}) changelist = self.get_changelist(request, Employee, modeladmin) - queryset = changelist.get_query_set(request) + queryset = changelist.get_queryset(request) self.assertEqual(list(queryset), [self.john]) @@ -698,7 +698,7 @@ class ListFiltersTests(TestCase): changelist = self.get_changelist(request, Employee, modeladmin) # Make sure the correct queryset is returned - queryset = changelist.get_query_set(request) + queryset = changelist.get_queryset(request) self.assertEqual(list(queryset), [self.jack, self.john]) filterspec = changelist.get_filters(request)[0][-1] @@ -723,7 +723,7 @@ class ListFiltersTests(TestCase): changelist = self.get_changelist(request, Employee, modeladmin) # Make sure the correct queryset is returned - queryset = changelist.get_query_set(request) + queryset = changelist.get_queryset(request) self.assertEqual(list(queryset), [self.john]) filterspec = changelist.get_filters(request)[0][-1] diff --git a/tests/admin_ordering/tests.py b/tests/admin_ordering/tests.py index 10faa9533f..6655ad37ad 100644 --- a/tests/admin_ordering/tests.py +++ b/tests/admin_ordering/tests.py @@ -22,8 +22,8 @@ request.user = MockSuperUser() class TestAdminOrdering(TestCase): """ - Let's make sure that ModelAdmin.queryset uses the ordering we define in - ModelAdmin rather that ordering defined in the model's inner Meta + Let's make sure that ModelAdmin.get_queryset uses the ordering we define + in ModelAdmin rather that ordering defined in the model's inner Meta class. """ @@ -42,7 +42,7 @@ class TestAdminOrdering(TestCase): class. """ ma = ModelAdmin(Band, None) - names = [b.name for b in ma.queryset(request)] + names = [b.name for b in ma.get_queryset(request)] self.assertEqual(['Aerosmith', 'Radiohead', 'Van Halen'], names) def test_specified_ordering(self): @@ -53,7 +53,7 @@ class TestAdminOrdering(TestCase): class BandAdmin(ModelAdmin): ordering = ('rank',) # default ordering is ('name',) ma = BandAdmin(Band, None) - names = [b.name for b in ma.queryset(request)] + names = [b.name for b in ma.get_queryset(request)] self.assertEqual(['Radiohead', 'Van Halen', 'Aerosmith'], names) def test_dynamic_ordering(self): @@ -65,17 +65,17 @@ class TestAdminOrdering(TestCase): request = self.request_factory.get('/') request.user = super_user ma = DynOrderingBandAdmin(Band, None) - names = [b.name for b in ma.queryset(request)] + names = [b.name for b in ma.get_queryset(request)] self.assertEqual(['Radiohead', 'Van Halen', 'Aerosmith'], names) request.user = other_user - names = [b.name for b in ma.queryset(request)] + names = [b.name for b in ma.get_queryset(request)] self.assertEqual(['Aerosmith', 'Radiohead', 'Van Halen'], names) class TestInlineModelAdminOrdering(TestCase): """ - Let's make sure that InlineModelAdmin.queryset uses the ordering we define - in InlineModelAdmin. + Let's make sure that InlineModelAdmin.get_queryset uses the ordering we + define in InlineModelAdmin. """ def setUp(self): @@ -95,7 +95,7 @@ class TestInlineModelAdminOrdering(TestCase): class. """ inline = SongInlineDefaultOrdering(self.b, None) - names = [s.name for s in inline.queryset(request)] + names = [s.name for s in inline.get_queryset(request)] self.assertEqual(['Dude (Looks Like a Lady)', 'Jaded', 'Pink'], names) def test_specified_ordering(self): @@ -103,7 +103,7 @@ class TestInlineModelAdminOrdering(TestCase): Let's check with ordering set to something different than the default. """ inline = SongInlineNewOrdering(self.b, None) - names = [s.name for s in inline.queryset(request)] + names = [s.name for s in inline.get_queryset(request)] self.assertEqual(['Jaded', 'Pink', 'Dude (Looks Like a Lady)'], names) diff --git a/tests/admin_views/admin.py b/tests/admin_views/admin.py index d4348968e0..cc7585cd2d 100644 --- a/tests/admin_views/admin.py +++ b/tests/admin_views/admin.py @@ -177,10 +177,10 @@ class PersonAdmin(admin.ModelAdmin): return super(PersonAdmin, self).get_changelist_formset(request, formset=BasePersonModelFormSet, **kwargs) - def queryset(self, request): + def get_queryset(self, request): # Order by a field that isn't in list display, to be able to test # whether ordering is preserved. - return super(PersonAdmin, self).queryset(request).order_by('age') + return super(PersonAdmin, self).get_queryset(request).order_by('age') class FooAccount(Account): @@ -283,8 +283,8 @@ class ParentAdmin(admin.ModelAdmin): class EmptyModelAdmin(admin.ModelAdmin): - def queryset(self, request): - return super(EmptyModelAdmin, self).queryset(request).filter(pk__gt=1) + def get_queryset(self, request): + return super(EmptyModelAdmin, self).get_queryset(request).filter(pk__gt=1) class OldSubscriberAdmin(admin.ModelAdmin): @@ -427,8 +427,8 @@ class PostAdmin(admin.ModelAdmin): class CustomChangeList(ChangeList): - def get_query_set(self, request): - return self.root_query_set.filter(pk=9999) # Does not exist + def get_queryset(self, request): + return self.root_queryset.filter(pk=9999) # Does not exist class GadgetAdmin(admin.ModelAdmin): @@ -452,52 +452,52 @@ class FoodDeliveryAdmin(admin.ModelAdmin): class CoverLetterAdmin(admin.ModelAdmin): """ - A ModelAdmin with a custom queryset() method that uses defer(), to test + A ModelAdmin with a custom get_queryset() method that uses defer(), to test verbose_name display in messages shown after adding/editing CoverLetter instances. Note that the CoverLetter model defines a __unicode__ method. For testing fix for ticket #14529. """ - def queryset(self, request): - return super(CoverLetterAdmin, self).queryset(request).defer('date_written') + def get_queryset(self, request): + return super(CoverLetterAdmin, self).get_queryset(request).defer('date_written') class PaperAdmin(admin.ModelAdmin): """ - A ModelAdmin with a custom queryset() method that uses only(), to test + A ModelAdmin with a custom get_queryset() method that uses only(), to test verbose_name display in messages shown after adding/editing Paper instances. For testing fix for ticket #14529. """ - def queryset(self, request): - return super(PaperAdmin, self).queryset(request).only('title') + def get_queryset(self, request): + return super(PaperAdmin, self).get_queryset(request).only('title') class ShortMessageAdmin(admin.ModelAdmin): """ - A ModelAdmin with a custom queryset() method that uses defer(), to test + A ModelAdmin with a custom get_queryset() method that uses defer(), to test verbose_name display in messages shown after adding/editing ShortMessage instances. For testing fix for ticket #14529. """ - def queryset(self, request): - return super(ShortMessageAdmin, self).queryset(request).defer('timestamp') + def get_queryset(self, request): + return super(ShortMessageAdmin, self).get_queryset(request).defer('timestamp') class TelegramAdmin(admin.ModelAdmin): """ - A ModelAdmin with a custom queryset() method that uses only(), to test + A ModelAdmin with a custom get_queryset() method that uses only(), to test verbose_name display in messages shown after adding/editing Telegram instances. Note that the Telegram model defines a __unicode__ method. For testing fix for ticket #14529. """ - def queryset(self, request): - return super(TelegramAdmin, self).queryset(request).only('title') + def get_queryset(self, request): + return super(TelegramAdmin, self).get_queryset(request).only('title') class StoryForm(forms.ModelForm): diff --git a/tests/admin_views/customadmin.py b/tests/admin_views/customadmin.py index d69d690af0..c204b81edd 100644 --- a/tests/admin_views/customadmin.py +++ b/tests/admin_views/customadmin.py @@ -35,8 +35,8 @@ class Admin2(admin.AdminSite): class UserLimitedAdmin(UserAdmin): # used for testing password change on a user not in queryset - def queryset(self, request): - qs = super(UserLimitedAdmin, self).queryset(request) + def get_queryset(self, request): + qs = super(UserLimitedAdmin, self).get_queryset(request) return qs.filter(is_superuser=False) diff --git a/tests/admin_views/tests.py b/tests/admin_views/tests.py index ff2eb95745..53dc74fa88 100644 --- a/tests/admin_views/tests.py +++ b/tests/admin_views/tests.py @@ -291,7 +291,7 @@ class AdminViewBasicTest(TestCase): """ If no ordering is defined in `ModelAdmin.ordering` or in the query string, then the underlying order of the queryset should not be - changed, even if it is defined in `Modeladmin.queryset()`. + changed, even if it is defined in `Modeladmin.get_queryset()`. Refs #11868, #7309. """ p1 = Person.objects.create(name="Amy", gender=1, alive=True, age=80) @@ -440,7 +440,7 @@ class AdminViewBasicTest(TestCase): self.urlbit, query_string)) self.assertEqual(filtered_response.status_code, 200) # ensure changelist contains only valid objects - for obj in filtered_response.context['cl'].query_set.all(): + for obj in filtered_response.context['cl'].queryset.all(): self.assertTrue(params['test'](obj, value)) def testIncorrectLookupParameters(self): @@ -2583,7 +2583,7 @@ class AdminCustomQuerysetTest(TestCase): self.assertEqual(response.status_code, 404) def test_add_model_modeladmin_defer_qs(self): - # Test for #14529. defer() is used in ModelAdmin.queryset() + # Test for #14529. defer() is used in ModelAdmin.get_queryset() # model has __unicode__ method self.assertEqual(CoverLetter.objects.count(), 0) @@ -2622,7 +2622,7 @@ class AdminCustomQuerysetTest(TestCase): ) def test_add_model_modeladmin_only_qs(self): - # Test for #14529. only() is used in ModelAdmin.queryset() + # Test for #14529. only() is used in ModelAdmin.get_queryset() # model has __unicode__ method self.assertEqual(Telegram.objects.count(), 0) @@ -2661,7 +2661,7 @@ class AdminCustomQuerysetTest(TestCase): ) def test_edit_model_modeladmin_defer_qs(self): - # Test for #14529. defer() is used in ModelAdmin.queryset() + # Test for #14529. defer() is used in ModelAdmin.get_queryset() # model has __unicode__ method cl = CoverLetter.objects.create(author="John Doe") @@ -2708,7 +2708,7 @@ class AdminCustomQuerysetTest(TestCase): ) def test_edit_model_modeladmin_only_qs(self): - # Test for #14529. only() is used in ModelAdmin.queryset() + # Test for #14529. only() is used in ModelAdmin.get_queryset() # model has __unicode__ method t = Telegram.objects.create(title="Frist Telegram") diff --git a/tests/admin_widgets/models.py b/tests/admin_widgets/models.py index 2977b86f3e..ae19d58cc4 100644 --- a/tests/admin_widgets/models.py +++ b/tests/admin_widgets/models.py @@ -37,8 +37,8 @@ class Album(models.Model): return self.name class HiddenInventoryManager(models.Manager): - def get_query_set(self): - return super(HiddenInventoryManager, self).get_query_set().filter(hidden=False) + def get_queryset(self): + return super(HiddenInventoryManager, self).get_queryset().filter(hidden=False) @python_2_unicode_compatible class Inventory(models.Model): diff --git a/tests/custom_managers/models.py b/tests/custom_managers/models.py index de7c1772ed..2f5e62fc7a 100644 --- a/tests/custom_managers/models.py +++ b/tests/custom_managers/models.py @@ -30,11 +30,11 @@ class Person(models.Model): def __str__(self): return "%s %s" % (self.first_name, self.last_name) -# An example of a custom manager that sets get_query_set(). +# An example of a custom manager that sets get_queryset(). class PublishedBookManager(models.Manager): - def get_query_set(self): - return super(PublishedBookManager, self).get_query_set().filter(is_published=True) + def get_queryset(self): + return super(PublishedBookManager, self).get_queryset().filter(is_published=True) @python_2_unicode_compatible class Book(models.Model): @@ -50,8 +50,8 @@ class Book(models.Model): # An example of providing multiple custom managers. class FastCarManager(models.Manager): - def get_query_set(self): - return super(FastCarManager, self).get_query_set().filter(top_speed__gt=150) + def get_queryset(self): + return super(FastCarManager, self).get_queryset().filter(top_speed__gt=150) @python_2_unicode_compatible class Car(models.Model): diff --git a/tests/custom_managers_regress/models.py b/tests/custom_managers_regress/models.py index 71073f0fe7..95cf6e8ca1 100644 --- a/tests/custom_managers_regress/models.py +++ b/tests/custom_managers_regress/models.py @@ -10,8 +10,8 @@ class RestrictedManager(models.Manager): """ A manager that filters out non-public instances. """ - def get_query_set(self): - return super(RestrictedManager, self).get_query_set().filter(is_public=True) + def get_queryset(self): + return super(RestrictedManager, self).get_queryset().filter(is_public=True) @python_2_unicode_compatible class RelatedModel(models.Model): diff --git a/tests/deprecation/__init__.py b/tests/deprecation/__init__.py new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/tests/deprecation/__init__.py diff --git a/tests/deprecation/models.py b/tests/deprecation/models.py new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/tests/deprecation/models.py diff --git a/tests/deprecation/tests.py b/tests/deprecation/tests.py new file mode 100644 index 0000000000..df752b3149 --- /dev/null +++ b/tests/deprecation/tests.py @@ -0,0 +1,158 @@ +from __future__ import unicode_literals +import warnings + +from django.test.testcases import SimpleTestCase +from django.utils import six +from django.utils.deprecation import RenameMethodsBase + + +class RenameManagerMethods(RenameMethodsBase): + renamed_methods = ( + ('old', 'new', PendingDeprecationWarning), + ) + + +class RenameMethodsTests(SimpleTestCase): + """ + Tests the `RenameMethodsBase` type introduced to rename `get_query_set` + to `get_queryset` across the code base following #15363. + """ + + def test_class_definition_warnings(self): + """ + Ensure a warning is raised upon class definition to suggest renaming + the faulty method. + """ + with warnings.catch_warnings(record=True) as recorded: + warnings.simplefilter('always') + class Manager(six.with_metaclass(RenameManagerMethods)): + def old(self): + pass + self.assertEqual(len(recorded), 1) + msg = str(recorded[0].message) + self.assertEqual(msg, + '`Manager.old` method should be renamed `new`.') + + def test_get_new_defined(self): + """ + Ensure `old` complains and not `new` when only `new` is defined. + """ + with warnings.catch_warnings(record=True) as recorded: + warnings.simplefilter('ignore') + class Manager(six.with_metaclass(RenameManagerMethods)): + def new(self): + pass + warnings.simplefilter('always') + manager = Manager() + manager.new() + self.assertEqual(len(recorded), 0) + manager.old() + self.assertEqual(len(recorded), 1) + msg = str(recorded.pop().message) + self.assertEqual(msg, + '`Manager.old` is deprecated, use `new` instead.') + + def test_get_old_defined(self): + """ + Ensure `old` complains when only `old` is defined. + """ + with warnings.catch_warnings(record=True) as recorded: + warnings.simplefilter('ignore') + class Manager(six.with_metaclass(RenameManagerMethods)): + def old(self): + pass + warnings.simplefilter('always') + manager = Manager() + manager.new() + self.assertEqual(len(recorded), 0) + manager.old() + self.assertEqual(len(recorded), 1) + msg = str(recorded.pop().message) + self.assertEqual(msg, + '`Manager.old` is deprecated, use `new` instead.') + + def test_deprecated_subclass_renamed(self): + """ + Ensure the correct warnings are raised when a class that didn't rename + `old` subclass one that did. + """ + with warnings.catch_warnings(record=True) as recorded: + warnings.simplefilter('ignore') + class Renamed(six.with_metaclass(RenameManagerMethods)): + def new(self): + pass + class Deprecated(Renamed): + def old(self): + super(Deprecated, self).old() + warnings.simplefilter('always') + deprecated = Deprecated() + deprecated.new() + self.assertEqual(len(recorded), 1) + msg = str(recorded.pop().message) + self.assertEqual(msg, + '`Renamed.old` is deprecated, use `new` instead.') + recorded[:] = [] + deprecated.old() + self.assertEqual(len(recorded), 2) + msgs = [str(warning.message) for warning in recorded] + self.assertEqual(msgs, [ + '`Deprecated.old` is deprecated, use `new` instead.', + '`Renamed.old` is deprecated, use `new` instead.', + ]) + + def test_renamed_subclass_deprecated(self): + """ + Ensure the correct warnings are raised when a class that renamed + `old` subclass one that didn't. + """ + with warnings.catch_warnings(record=True) as recorded: + warnings.simplefilter('ignore') + class Deprecated(six.with_metaclass(RenameManagerMethods)): + def old(self): + pass + class Renamed(Deprecated): + def new(self): + super(Renamed, self).new() + warnings.simplefilter('always') + renamed = Renamed() + renamed.new() + self.assertEqual(len(recorded), 0) + renamed.old() + self.assertEqual(len(recorded), 1) + msg = str(recorded.pop().message) + self.assertEqual(msg, + '`Renamed.old` is deprecated, use `new` instead.') + + def test_deprecated_subclass_renamed_and_mixins(self): + """ + Ensure the correct warnings are raised when a subclass inherit from a + class that renamed `old` and mixins that may or may not have renamed + `new`. + """ + with warnings.catch_warnings(record=True) as recorded: + warnings.simplefilter('ignore') + class Renamed(six.with_metaclass(RenameManagerMethods)): + def new(self): + pass + class RenamedMixin(object): + def new(self): + super(RenamedMixin, self).new() + class DeprecatedMixin(object): + def old(self): + super(DeprecatedMixin, self).old() + class Deprecated(DeprecatedMixin, RenamedMixin, Renamed): + pass + warnings.simplefilter('always') + deprecated = Deprecated() + deprecated.new() + self.assertEqual(len(recorded), 1) + msg = str(recorded.pop().message) + self.assertEqual(msg, + '`RenamedMixin.old` is deprecated, use `new` instead.') + deprecated.old() + self.assertEqual(len(recorded), 2) + msgs = [str(warning.message) for warning in recorded] + self.assertEqual(msgs, [ + '`DeprecatedMixin.old` is deprecated, use `new` instead.', + '`RenamedMixin.old` is deprecated, use `new` instead.', + ]) diff --git a/tests/fixtures/models.py b/tests/fixtures/models.py index 8bd3501926..976716fdc9 100644 --- a/tests/fixtures/models.py +++ b/tests/fixtures/models.py @@ -78,8 +78,8 @@ class Person(models.Model): return (self.name,) class SpyManager(PersonManager): - def get_query_set(self): - return super(SpyManager, self).get_query_set().filter(cover_blown=False) + def get_queryset(self): + return super(SpyManager, self).get_queryset().filter(cover_blown=False) class Spy(Person): objects = SpyManager() diff --git a/tests/generic_relations/models.py b/tests/generic_relations/models.py index 18d7623971..34dc8d3a7d 100644 --- a/tests/generic_relations/models.py +++ b/tests/generic_relations/models.py @@ -88,8 +88,8 @@ class Mineral(models.Model): return self.name class GeckoManager(models.Manager): - def get_query_set(self): - return super(GeckoManager, self).get_query_set().filter(has_tail=True) + def get_queryset(self): + return super(GeckoManager, self).get_queryset().filter(has_tail=True) class Gecko(models.Model): has_tail = models.BooleanField() diff --git a/tests/get_object_or_404/models.py b/tests/get_object_or_404/models.py index bda060569e..bb9aa60383 100644 --- a/tests/get_object_or_404/models.py +++ b/tests/get_object_or_404/models.py @@ -22,8 +22,8 @@ class Author(models.Model): return self.name class ArticleManager(models.Manager): - def get_query_set(self): - return super(ArticleManager, self).get_query_set().filter(authors__name__icontains='sir') + def get_queryset(self): + return super(ArticleManager, self).get_queryset().filter(authors__name__icontains='sir') @python_2_unicode_compatible class Article(models.Model): diff --git a/tests/managers_regress/models.py b/tests/managers_regress/models.py index d72970d86e..d8dd22ec9a 100644 --- a/tests/managers_regress/models.py +++ b/tests/managers_regress/models.py @@ -7,18 +7,18 @@ from django.utils.encoding import python_2_unicode_compatible class OnlyFred(models.Manager): - def get_query_set(self): - return super(OnlyFred, self).get_query_set().filter(name='fred') + def get_queryset(self): + return super(OnlyFred, self).get_queryset().filter(name='fred') class OnlyBarney(models.Manager): - def get_query_set(self): - return super(OnlyBarney, self).get_query_set().filter(name='barney') + def get_queryset(self): + return super(OnlyBarney, self).get_queryset().filter(name='barney') class Value42(models.Manager): - def get_query_set(self): - return super(Value42, self).get_query_set().filter(value=42) + def get_queryset(self): + return super(Value42, self).get_queryset().filter(value=42) class AbstractBase1(models.Model): diff --git a/tests/modeladmin/tests.py b/tests/modeladmin/tests.py index b0a181218b..e5450ab8ff 100644 --- a/tests/modeladmin/tests.py +++ b/tests/modeladmin/tests.py @@ -69,7 +69,7 @@ class ModelAdminTests(TestCase): # If we specify the fields argument, fieldsets_add and fielsets_change should # just stick the fields into a formsets structure and return it. class BandAdmin(ModelAdmin): - fields = ['name'] + fields = ['name'] ma = BandAdmin(Band, self.site) @@ -1074,7 +1074,7 @@ class ValidationTests(unittest.TestCase): return 'awesomeness' def get_choices(self, request): return (('bit', 'A bit awesome'), ('very', 'Very awesome'), ) - def get_query_set(self, cl, qs): + def get_queryset(self, cl, qs): return qs class ValidationTestModelAdmin(ModelAdmin): diff --git a/tests/prefetch_related/models.py b/tests/prefetch_related/models.py index e58997d200..81c569844f 100644 --- a/tests/prefetch_related/models.py +++ b/tests/prefetch_related/models.py @@ -87,8 +87,8 @@ class Qualification(models.Model): class TeacherManager(models.Manager): - def get_query_set(self): - return super(TeacherManager, self).get_query_set().prefetch_related('qualifications') + def get_queryset(self): + return super(TeacherManager, self).get_queryset().prefetch_related('qualifications') @python_2_unicode_compatible diff --git a/tests/proxy_models/models.py b/tests/proxy_models/models.py index 6c962aadc8..ffb36657e1 100644 --- a/tests/proxy_models/models.py +++ b/tests/proxy_models/models.py @@ -10,12 +10,12 @@ from django.utils.encoding import python_2_unicode_compatible # A couple of managers for testing managing overriding in proxy model cases. class PersonManager(models.Manager): - def get_query_set(self): - return super(PersonManager, self).get_query_set().exclude(name="fred") + def get_queryset(self): + return super(PersonManager, self).get_queryset().exclude(name="fred") class SubManager(models.Manager): - def get_query_set(self): - return super(SubManager, self).get_query_set().exclude(name="wilma") + def get_queryset(self): + return super(SubManager, self).get_queryset().exclude(name="wilma") @python_2_unicode_compatible class Person(models.Model): diff --git a/tests/queries/models.py b/tests/queries/models.py index c8598371a6..f7f643d585 100644 --- a/tests/queries/models.py +++ b/tests/queries/models.py @@ -176,8 +176,8 @@ class LoopZ(models.Model): # A model and custom default manager combination. class CustomManager(models.Manager): - def get_query_set(self): - qs = super(CustomManager, self).get_query_set() + def get_queryset(self): + qs = super(CustomManager, self).get_queryset() return qs.filter(public=True, tag__name='t1') @python_2_unicode_compatible @@ -197,8 +197,8 @@ class Detail(models.Model): data = models.CharField(max_length=10) class MemberManager(models.Manager): - def get_query_set(self): - return super(MemberManager, self).get_query_set().select_related("details") + def get_queryset(self): + return super(MemberManager, self).get_queryset().select_related("details") class Member(models.Model): name = models.CharField(max_length=10) diff --git a/tests/reverse_single_related/models.py b/tests/reverse_single_related/models.py index 898be8411b..30ba345120 100644 --- a/tests/reverse_single_related/models.py +++ b/tests/reverse_single_related/models.py @@ -2,8 +2,8 @@ from django.db import models class SourceManager(models.Manager): - def get_query_set(self): - return super(SourceManager, self).get_query_set().filter(is_public=True) + def get_queryset(self): + return super(SourceManager, self).get_queryset().filter(is_public=True) class Source(models.Model): is_public = models.BooleanField() |
