summaryrefslogtreecommitdiff
path: root/tests/basic
diff options
context:
space:
mode:
authorLoïc Bistuer <loic.bistuer@gmail.com>2016-04-17 18:55:55 +0700
committerLoïc Bistuer <loic.bistuer@gmail.com>2016-05-17 12:07:22 +0700
commited0ff913c648b16c4471fc9a9441d1ee48cb5420 (patch)
treebf9cd3fad9f4c9abbec1967817842fdacad0938a /tests/basic
parent3a47d42fa33012b2156bf04058d933df6b3082d2 (diff)
downloaddjango-ed0ff913c648b16c4471fc9a9441d1ee48cb5420.tar.gz
Fixed #10506, #13793, #14891, #25201 -- Introduced new APIs to specify models' default and base managers.
This deprecates use_for_related_fields. Old API: class CustomManager(models.Model): use_for_related_fields = True class Model(models.Model): custom_manager = CustomManager() New API: class Model(models.Model): custom_manager = CustomManager() class Meta: base_manager_name = 'custom_manager' Refs #20932, #25897. Thanks Carl Meyer for the guidance throughout this work. Thanks Tim Graham for writing the docs.
Diffstat (limited to 'tests/basic')
-rw-r--r--tests/basic/tests.py9
1 files changed, 3 insertions, 6 deletions
diff --git a/tests/basic/tests.py b/tests/basic/tests.py
index 6ff037a31a..a378961444 100644
--- a/tests/basic/tests.py
+++ b/tests/basic/tests.py
@@ -637,7 +637,7 @@ class SelectOnSaveTests(TestCase):
# test this properly otherwise. Article's manager, because
# proxy models use their parent model's _base_manager.
- orig_class = Article._base_manager.__class__
+ orig_class = Article._base_manager._queryset_class
class FakeQuerySet(QuerySet):
# Make sure the _update method below is in fact called.
@@ -648,11 +648,8 @@ class SelectOnSaveTests(TestCase):
super(FakeQuerySet, self)._update(*args, **kwargs)
return 0
- class FakeManager(orig_class):
- def get_queryset(self):
- return FakeQuerySet(self.model)
try:
- Article._base_manager.__class__ = FakeManager
+ Article._base_manager._queryset_class = FakeQuerySet
asos = ArticleSelectOnSave.objects.create(pub_date=datetime.now())
with self.assertNumQueries(3):
asos.save()
@@ -665,7 +662,7 @@ class SelectOnSaveTests(TestCase):
with self.assertRaises(DatabaseError):
asos.save(update_fields=['pub_date'])
finally:
- Article._base_manager.__class__ = orig_class
+ Article._base_manager._queryset_class = orig_class
class ModelRefreshTests(TestCase):