Opened 4 years ago

Closed 4 years ago

#25843 closed Bug (worksforme)

Ampersands in icontains filter returns inconsistent results

Reported by: Gady Pitaru Owned by: nobody
Component: Database layer (models, ORM) Version: 1.6
Severity: Normal Keywords:
Cc: Triage Stage: Unreviewed
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description

Ampersands in icontains filter returns inconsistent results based on if the ampersand is the last character or not. Replacing the ampersand character with & fixes the issue. The following examples illustrate the issue, assuming there is one record with field = 'Fish & Chips':

query1 = 'Fish &'
Model.objects.filter(field__icontains=query1)
# returns a result

query2 = 'Fish & Chips'
Model.objects.filter(field__icontains=query2)
# returns no results

query3 = 'Fish & Chips'
Model.objects.filter(field__icontains=query3)
# returns a result

Change History (1)

comment:1 Changed 4 years ago by Simon Charette

Resolution: worksforme
Status: newclosed

Hi gadybadger,

Unfortunately I cannot reproduce against Django 1.6 (which is not supported anymore), 1.8 and master.

I suppose the data is actually saved as 'Fish & Chips' in your database in the first place.

Are you sure you don't use some third party WYSIWYG editor on the front end that could be interfering here?

Note: See TracTickets for help on using tickets.
Back to Top