Added more tests for chaining QuerySet.defer() after only().

This commit is contained in:
David Wobrock 2021-07-20 10:10:27 +02:00 committed by Mariusz Felisiak
parent 6a970a8b46
commit 96706d76cd
1 changed files with 6 additions and 0 deletions

View File

@ -49,9 +49,15 @@ class DeferTests(AssertionMixin, TestCase):
qs = Primary.objects.all() qs = Primary.objects.all()
self.assert_delayed(qs.only("name", "value").defer("name")[0], 2) self.assert_delayed(qs.only("name", "value").defer("name")[0], 2)
self.assert_delayed(qs.defer("name").only("value", "name")[0], 2) self.assert_delayed(qs.defer("name").only("value", "name")[0], 2)
self.assert_delayed(qs.defer('name').only('name').only('value')[0], 2)
self.assert_delayed(qs.defer("name").only("value")[0], 2) self.assert_delayed(qs.defer("name").only("value")[0], 2)
self.assert_delayed(qs.only("name").defer("value")[0], 2) self.assert_delayed(qs.only("name").defer("value")[0], 2)
def test_defer_only_clear(self):
qs = Primary.objects.all()
self.assert_delayed(qs.only('name').defer('name')[0], 0)
self.assert_delayed(qs.defer('name').only('name')[0], 0)
def test_defer_on_an_already_deferred_field(self): def test_defer_on_an_already_deferred_field(self):
qs = Primary.objects.all() qs = Primary.objects.all()
self.assert_delayed(qs.defer("name")[0], 1) self.assert_delayed(qs.defer("name")[0], 1)