Sorry I hadn't seen your comment, have you tried %%% ? On Mon, Dec 3, 2012 at 7:28 AM, Joseph Mutumi <jjmut...@gmail.com> wrote:
> I think to escape a % use %% > > > On Sun, Dec 2, 2012 at 1:16 PM, Martin Svoboda > <martin.svob...@gmail.com>wrote: > >> Hi, >> I want use postgresql pg_trgm module in django. pg_trgm defines special >> operator percent sign. How should I escape it in django query extra method? >> >> # Pure SQL >> SELECT content, similarity(content, 'text') AS sml >> FROM table >> WHERE content % 'text' >> ORDER BY sml DESC, content; >> >> # Extra throws IndexError 'tuple index out of range' >> # I tried escape % with %%, or \%, but it throws same exception >> objects = MyModel.objects.extra( >> select={'rank': 'similarity(content, %s)'}, >> select_params=[content], >> where='content % %s', >> params=[content], >> order_by=['-rank'] >> ) >> >> # Raw query works fine >> objects = MyModel.objects.raw('''SELECT *, similarity(content, %s) AS >> rank FROM table WHERE content %% %s ORDER BY rank DESC LIMIT 1''', >> [content, content]) >> >> How should I escape persent sign in extra() method? >> >> Thank you! >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Django users" group. >> To view this discussion on the web visit >> https://groups.google.com/d/msg/django-users/-/2euBM5lHjZEJ. >> To post to this group, send email to django-users@googlegroups.com. >> To unsubscribe from this group, send email to >> django-users+unsubscr...@googlegroups.com. >> For more options, visit this group at >> http://groups.google.com/group/django-users?hl=en. >> > > -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com. To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.