Loading django/contrib/postgres/fields/array.py +2 −1 Original line number Diff line number Diff line Loading @@ -159,7 +159,8 @@ class ArrayContainsLookup(Lookup): lhs, lhs_params = self.process_lhs(qn, connection) rhs, rhs_params = self.process_rhs(qn, connection) params = lhs_params + rhs_params return '%s @> %s' % (lhs, rhs), params type_cast = self.lhs.source.db_type(connection) return '%s @> %s::%s' % (lhs, rhs, type_cast), params ArrayField.register_lookup(ArrayContainsLookup) Loading tests/postgres_tests/test_array.py +7 −0 Original line number Diff line number Diff line Loading @@ -118,6 +118,13 @@ class TestQuerying(TestCase): self.objs[1:3] ) def test_contains_charfield(self): # Regression for #22907 self.assertSequenceEqual( CharArrayModel.objects.filter(field__contains=['text']), [] ) def test_index(self): self.assertSequenceEqual( NullableIntegerArrayModel.objects.filter(field__0=2), Loading Loading
django/contrib/postgres/fields/array.py +2 −1 Original line number Diff line number Diff line Loading @@ -159,7 +159,8 @@ class ArrayContainsLookup(Lookup): lhs, lhs_params = self.process_lhs(qn, connection) rhs, rhs_params = self.process_rhs(qn, connection) params = lhs_params + rhs_params return '%s @> %s' % (lhs, rhs), params type_cast = self.lhs.source.db_type(connection) return '%s @> %s::%s' % (lhs, rhs, type_cast), params ArrayField.register_lookup(ArrayContainsLookup) Loading
tests/postgres_tests/test_array.py +7 −0 Original line number Diff line number Diff line Loading @@ -118,6 +118,13 @@ class TestQuerying(TestCase): self.objs[1:3] ) def test_contains_charfield(self): # Regression for #22907 self.assertSequenceEqual( CharArrayModel.objects.filter(field__contains=['text']), [] ) def test_index(self): self.assertSequenceEqual( NullableIntegerArrayModel.objects.filter(field__0=2), Loading