Skip to content

Commit 18bfd65

Browse files
committed
Remove contained_by and all lookups for supported lookups.
1 parent bbc031d commit 18bfd65

File tree

2 files changed

+2
-42
lines changed

2 files changed

+2
-42
lines changed

django_mongodb_backend/fields/embedded_model_array.py

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -92,8 +92,6 @@ class _EmbeddedModelArrayOutputField(ArrayField):
9292
"gte",
9393
"lt",
9494
"lte",
95-
"all",
96-
"contained_by",
9795
}
9896

9997
def get_lookup(self, name):
@@ -205,25 +203,6 @@ class EmbeddedModelArrayFieldLessThanOrEqual(
205203
pass
206204

207205

208-
@_EmbeddedModelArrayOutputField.register_lookup
209-
class EmbeddedModelArrayFieldAll(
210-
EmbeddedModelArrayFieldBuiltinLookup, Lookup, ArrayAggregationSubqueryMixin
211-
):
212-
lookup_name = "all"
213-
get_db_prep_lookup_value_is_iterable = False
214-
215-
def as_mql(self, compiler, connection):
216-
lhs_mql = process_lhs(self, compiler, connection)
217-
values = process_rhs(self, compiler, connection)
218-
return {
219-
"$and": [
220-
{"$ne": [lhs_mql, None]},
221-
{"$ne": [values, None]},
222-
{"$setIsSubset": [values, lhs_mql]},
223-
]
224-
}
225-
226-
227206
class KeyTransform(Transform):
228207
def __init__(self, key_name, array_field, *args, **kwargs):
229208
super().__init__(*args, **kwargs)

tests/model_fields_/test_embedded_model_array.py

Lines changed: 2 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -187,17 +187,6 @@ def test_filter_unsupported_lookups(self):
187187
self.assertCountEqual(MuseumExhibit.objects.filter(**kwargs), [])
188188
self.assertIn(f"'field': '{lookup}'", captured_queries[0]["sql"])
189189

190-
def test_all_filter(self):
191-
self.assertCountEqual(
192-
MuseumExhibit.objects.filter(sections__section_number__all=[1, 2]), [self.wonders]
193-
)
194-
195-
def test_contained_by(self):
196-
self.assertCountEqual(
197-
MuseumExhibit.objects.filter(sections__section_number__contained_by=[1, 2, 3]),
198-
[self.egypt, self.new_descoveries, self.wonders, self.lost_empires],
199-
)
200-
201190
def test_len_filter(self):
202191
self.assertCountEqual(MuseumExhibit.objects.filter(sections__len=10), [])
203192
self.assertCountEqual(
@@ -310,9 +299,8 @@ def test_foreign_field_exact(self):
310299
self.assertCountEqual(qs, [self.egypt_tour, self.wonders_tour])
311300

312301
def test_foreign_field_with_slice(self):
313-
# Only wonders exhibit has exactly two sections, and this slice matches first two
314-
qs = Tour.objects.filter(exhibit__sections__0_2__section_number__all=[1, 2])
315-
self.assertEqual(list(qs), [self.wonders_tour])
302+
qs = Tour.objects.filter(exhibit__sections__0_2__section_number__in=[1, 2])
303+
self.assertCountEqual(qs, [self.wonders_tour, self.egypt_tour])
316304

317305
def test_subquery_section_number_lt(self):
318306
subq = ExhibitAudit.objects.filter(
@@ -323,13 +311,6 @@ def test_subquery_section_number_lt(self):
323311
[self.egypt, self.wonders, self.new_descoveries],
324312
)
325313

326-
def test_check_all_subquery(self):
327-
subquery = ExhibitAudit.objects.filter(reviewed=True).values_list(
328-
"related_section_number", flat=True
329-
)
330-
result = MuseumExhibit.objects.filter(sections__section_number__all=subquery)
331-
self.assertCountEqual(result, [self.wonders])
332-
333314
def test_check_in_subquery(self):
334315
subquery = ExhibitAudit.objects.filter(reviewed=True).values_list(
335316
"related_section_number", flat=True

0 commit comments

Comments
 (0)