Skip to content

Commit e3a0464

Browse files
committed
Add invalid nested field tests for Polymorphic/EmbeddedModelArrayField
1 parent 7a72922 commit e3a0464

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

tests/model_fields_/test_embedded_model_array.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -282,6 +282,11 @@ def test_invalid_field(self):
282282
with self.assertRaisesMessage(FieldDoesNotExist, msg):
283283
Exhibit.objects.filter(sections__section__in=[10]).first()
284284

285+
def test_invalid_nested_field(self):
286+
msg = "Cannot perform multiple levels of array traversal in a query."
287+
with self.assertRaisesMessage(ValueError, msg):
288+
Exhibit.objects.filter(sections__artifacts__xx=10).first()
289+
285290
def test_invalid_lookup(self):
286291
msg = "Unsupported lookup 'return' for EmbeddedModelArrayField of 'IntegerField'"
287292
with self.assertRaisesMessage(FieldDoesNotExist, msg):

tests/model_fields_/test_polymorphic_embedded_model_array.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,11 @@ def test_invalid_field(self):
176176
with self.assertRaisesMessage(FieldDoesNotExist, msg):
177177
Owner.objects.filter(pets__xxx=10).first()
178178

179+
def test_invalid_nested_field(self):
180+
msg = "Cannot perform multiple levels of array traversal in a query."
181+
with self.assertRaisesMessage(ValueError, msg):
182+
Owner.objects.filter(pets__toys__xxx=10).first()
183+
179184
def test_invalid_lookup(self):
180185
msg = "Unsupported lookup 'return' for PolymorphicEmbeddedModelArrayField of 'CharField'"
181186
with self.assertRaisesMessage(FieldDoesNotExist, msg):
@@ -197,7 +202,7 @@ def test_missing_lookup_suggestions(self):
197202
def test_nested_lookup(self):
198203
msg = "Cannot perform multiple levels of array traversal in a query."
199204
with self.assertRaisesMessage(ValueError, msg):
200-
Owner.objects.filter(pets__toys__name="")
205+
Owner.objects.filter(pets__toys__brand="")
201206

202207

203208
@isolate_apps("model_fields_")

0 commit comments

Comments
 (0)