From 1a28dc3887e8d66d5e3ff08cf7fb0a6212b873e5 Mon Sep 17 00:00:00 2001 From: Simon Charette Date: Fri, 20 Jul 2018 21:23:05 -0400 Subject: Fixed #29582 -- Fixed a crash when using SearchVector with non text-fields. The PostgreSQL concat() function handles nulls and non-text values better than the || operator. --- tests/postgres_tests/test_search.py | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'tests/postgres_tests') diff --git a/tests/postgres_tests/test_search.py b/tests/postgres_tests/test_search.py index 944690692a..405de8cf0e 100644 --- a/tests/postgres_tests/test_search.py +++ b/tests/postgres_tests/test_search.py @@ -155,6 +155,12 @@ class MultipleFieldsTest(GrailTestData, PostgreSQLTestCase): ).filter(search='bedemir') self.assertEqual(set(searched), {self.bedemir0, self.bedemir1, self.crowd, self.witch, self.duck}) + def test_search_with_non_text(self): + searched = Line.objects.annotate( + search=SearchVector('id'), + ).filter(search=str(self.crowd.id)) + self.assertSequenceEqual(searched, [self.crowd]) + def test_config_query_explicit(self): searched = Line.objects.annotate( search=SearchVector('scene__setting', 'dialogue', config='french'), -- cgit v1.3