Here's where Django defines REGEXP: https://github.com/django/django/blob/2f10216f84b55920de25422842a66260219e393f/django/db/backends/sqlite3/base.py#L173
>From http://stackoverflow.com/a/8244670: SQLite does not contain regular expression functionality by default. It defines a REGEXP operator, but this will fail with an error message unless you or your framework define a user function <http://www.sqlite.org/c3ref/create_function.html> called regexp(). You can execute raw SQL on a Django connection using the technique documented at https://docs.djangoproject.com/en/stable/topics/db/sql/#connections-and-cursors. On Monday, February 13, 2017 at 5:06:47 PM UTC-5, Thomas Nyberg wrote: > > Hello, > > I have a question about regexes and sqlite3. I am executing a certain > line of code: > > >>> regex = 'NET | INCOME' > >>> Table.objects.filter(name__iregex=regex). > > When I have it print out the SQL sent, I get the following (this is a > simplified, but equivalent version): > > SELECT * > FROM "table" > WHERE "table"."name" > REGEXP '(?i)' || 'NET | INCOME' > LIMIT 21 > > However if I execute that directly against the sqlite database i get the > following error: > > sqlite3.OperationalError: no such function: REGEXP > > I thought that maybe this magic was handled in python's sqlite3 module, > but if i do it there i get the same error. So basically my question is, > can anyone tell me where this is transformed into regular sql? it > obviously happens somehwere (I get no error when running in django after > all), but I can't for the life of me figure out where. > > Thanks a lot! > > Thomas > > PS: I have tried using the shell_plus --print-sql extension, but that > shows me the same thing. > > PPS: Obviously not django-related, but if anyone knows how to get a > sqlite database to log all queries issued against it, that would also > obviously solve this issue. > -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/django-users. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/f793a2cd-5f71-402c-ad6b-c6bd12bbf0c9%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.

