mirror of
https://github.com/django/django.git
synced 2025-09-26 20:19:16 +00:00
Fixed #30988 -- Deprecated the InvalidQuery exception.
It was barely documented without pointers at its defining location and was abused to prevent misuse of the QuerySet field deferring feature.
This commit is contained in:
parent
cbe4d6203f
commit
11e327a3ff
8 changed files with 82 additions and 15 deletions
|
@ -1,4 +1,4 @@
|
|||
from django.db.models.query_utils import InvalidQuery
|
||||
from django.core.exceptions import FieldError
|
||||
from django.test import TestCase
|
||||
|
||||
from .models import (
|
||||
|
@ -113,7 +113,7 @@ class DeferTests(AssertionMixin, TestCase):
|
|||
'Field Primary.related cannot be both deferred and traversed '
|
||||
'using select_related at the same time.'
|
||||
)
|
||||
with self.assertRaisesMessage(InvalidQuery, msg):
|
||||
with self.assertRaisesMessage(FieldError, msg):
|
||||
Primary.objects.defer("related").select_related("related")[0]
|
||||
|
||||
def test_only_select_related_raises_invalid_query(self):
|
||||
|
@ -121,7 +121,7 @@ class DeferTests(AssertionMixin, TestCase):
|
|||
'Field Primary.related cannot be both deferred and traversed using '
|
||||
'select_related at the same time.'
|
||||
)
|
||||
with self.assertRaisesMessage(InvalidQuery, msg):
|
||||
with self.assertRaisesMessage(FieldError, msg):
|
||||
Primary.objects.only("name").select_related("related")[0]
|
||||
|
||||
def test_defer_foreign_keys_are_deferred_and_not_traversed(self):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue