Я пытаюсь tokenize мои поля таблицы с запросом.Django. PostgreSQL. regexp_split_to_table не работает
SELECT regexp_split_to_table(mytable.field_name, E'\\s+') from mytable limit 20;
Это работает, когда я исполню ее из Psql оболочки, но когда я делаю:
from django.db import connection cursor=connection.cursor()
cursor.execute("SELECT regexp_split_to_table(mytable.field_name,E'\\s+')
FROM mytable LIMIT 20")
cursor.fetchall()
... он не возвращает лексемы. Что я делаю не так?
это кажется Psycopg doent выполнять Postgres функции. – mossplix
Не знаю много о Django, но вот идея: «SELECT * FROM (SELECT regexp_split_to_table (fld, E '\\ s +') FROM tbl LIMIT 20) x LIMIT 20". В случае, если Django не понимает, что функция может возвращать набор значений. –
тоже не работает. скажем, в полях «SOPA blackout», он не вернется [(«SOPA», «затемнение»)], но вернется [(«SOPA затемнение»)] – mossplix