PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Django - Търсене в пълен текст - Заместващ знак

Разширявам класа django SearchQuery и замествам plainto_tsquery с to_tsquery . Направих няколко прости теста, работи. Ще се върна тук, ако намеря случаи, в които това създава проблеми.

from django.contrib.postgres.search import SearchQuery

class MySearchQuery(SearchQuery):
    def as_sql(self, compiler, connection):
        params = [self.value]
        if self.config:
            config_sql, config_params = compiler.compile(self.config)
            template = 'to_tsquery({}::regconfig, %s)'.format(config_sql)
            params = config_params + [self.value]
        else:
            template = 'to_tsquery(%s)'
        if self.invert:
            template = '!!({})'.format(template)
        return template, params

Сега мога да направя нещо като query = MySearchQuery('whatever:*')



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Стартиране и попълване на контейнер Postgres в Docker

  2. Heroku Postgres:Тази връзка е затворена

  3. Задаване на името на схемата в postgres с помощта на R

  4. Postgresql изберете, докато се достигне определена обща сума

  5. Как мога да изпълня заявка LIKE за ключ jsonb?