Garis miring terbalik diperlakukan sebagai meta-karakter oleh Django dan ditafsirkan di dalam tanda kutip ganda. Jadi satu lapisan E'\\s+') akan dilucuti sebelum string tiba di server PostgreSQL, yang akan melihat E'\s+') . String escape akan menghasilkan 's+' yang pada gilirannya akan membuat regexp_split_to_table() pisahkan string Anda pada sejumlah s alih-alih ruang non-cetak, yang merupakan singkatan dari kelas karakter \s singkatan dari ekspresi reguler.
Gandakan garis miring terbalik Anda dalam string untuk mendapatkan apa yang Anda inginkan:E'\\\\s+') :
"SELECT regexp_split_to_table(field_name, E'\\\\s+') FROM mytable LIMIT 20"
Sebagai alternatif, untuk menghindari masalah dengan arti khusus dari garis miring terbalik \ , Anda dapat menggunakan [[:space:]] untuk menunjukkan kelas karakter yang sama:
"SELECT regexp_split_to_table(field_name, '[[:space:]]+') FROM mytable LIMIT 20"
Detail dalam bab " Pencocokan Pola" di manual .