@@ -247,6 +247,26 @@ def as_sql(self, compiler, connection):
247247 {'id' : 2 , 'title' : 'zz' , 'text' : 'bcd' },
248248 ]
249249
250+ @pytest .mark .requires_postgres
251+ def test_search_field_with_unaccent (self ):
252+ SearchFilterModel .objects .create (title = 'Jeremy' , text = 'jeremy' )
253+ SearchFilterModel .objects .create (title = 'Jérémy' , text = 'jérémy' )
254+ SearchFilterModel .objects .create (title = 'Jérémie' , text = 'jérémie' )
255+ SearchFilterModel .objects .create (title = 'Jeremie' , text = 'jeremie' )
256+
257+ class SearchListView (generics .ListAPIView ):
258+ queryset = SearchFilterModel .objects .all ()
259+ serializer_class = SearchFilterSerializer
260+ filter_backends = (filters .SearchFilter ,)
261+ search_fields = ('&title' ,)
262+
263+ view = SearchListView .as_view ()
264+
265+ request = factory .get ('/' , {'search' : 'Jerem' })
266+ response = view (request )
267+ assert len (response .data ) == 4
268+ assert {item ['title' ] for item in response .data } == {'Jeremy' , 'Jérémy' , 'Jérémie' , 'Jeremie' }
269+
250270 def test_search_field_with_multiple_words (self ):
251271 class SearchListView (generics .ListAPIView ):
252272 queryset = SearchFilterModel .objects .all ()
0 commit comments