diff options
author | Loïc Bistuer <loic.bistuer@gmail.com> | 2016-04-17 18:55:55 +0700 |
---|---|---|
committer | Loïc Bistuer <loic.bistuer@gmail.com> | 2016-05-17 12:07:22 +0700 |
commit | ed0ff913c648b16c4471fc9a9441d1ee48cb5420 (patch) | |
tree | bf9cd3fad9f4c9abbec1967817842fdacad0938a /tests/basic | |
parent | 3a47d42fa33012b2156bf04058d933df6b3082d2 (diff) | |
download | django-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.py | 9 |
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): |