Skip to content

Commit 262602d

Browse files
WaVEVtimgraham
authored andcommitted
Add tests for ArrayField 'overlap' and 'in' subquery lookups
1 parent 4fd94a5 commit 262602d

File tree

2 files changed

+20
-0
lines changed

2 files changed

+20
-0
lines changed

tests/model_fields_/test_arrayfield.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -634,6 +634,21 @@ def test_overlap_values(self):
634634
self.objs[:3],
635635
)
636636

637+
def test_overlap_empty_values(self):
638+
qs = NullableIntegerArrayModel.objects.filter(order__lt=-30)
639+
self.assertCountEqual(
640+
NullableIntegerArrayModel.objects.filter(
641+
field__overlap=qs.values_list("field"),
642+
),
643+
[],
644+
)
645+
self.assertCountEqual(
646+
NullableIntegerArrayModel.objects.filter(
647+
field__overlap=qs.values("field"),
648+
),
649+
[],
650+
)
651+
637652
def test_index(self):
638653
self.assertSequenceEqual(
639654
NullableIntegerArrayModel.objects.filter(field__0=2), self.objs[1:3]

tests/model_fields_/test_embedded_model_array.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -520,6 +520,11 @@ def test_subquery_in_lookup(self):
520520
result = Exhibit.objects.filter(sections__number__in=subquery)
521521
self.assertCountEqual(result, [self.wonders, self.new_discoveries, self.egypt])
522522

523+
def test_subquery_empty_in_lookup(self):
524+
subquery = Audit.objects.filter(section_number=10).values_list("section_number", flat=True)
525+
result = Exhibit.objects.filter(sections__number__in=subquery)
526+
self.assertCountEqual(result, [])
527+
523528
def test_array_as_rhs(self):
524529
result = Exhibit.objects.filter(main_section__number__in=models.F("sections__number"))
525530
self.assertCountEqual(result, [self.new_discoveries])

0 commit comments

Comments
 (0)