Форум программистов, компьютерный форум, киберфорум
Python: Django
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 1
Регистрация: 10.08.2015
Сообщений: 15

Django поиск в Postgres

12.07.2019, 20:18. Показов 2300. Ответов 0

Студворк — интернет-сервис помощи студентам
Доброго времени суток.
Есть проблема в поиском в джанго при миграции выдает ошибку.
На новой базе подключаю CREATE EXTENSION pg_trgm;
потом последовательно
manage.py migrate
manage.py createsuperuser
manage.py makemigrations blog
manage.py migrate blog
и получаю ошибку.

Bash
1
2
django.db.utils.ProgrammingError: ОШИБКА:  для типа данных character varying не определён класс операторов по умолчанию для метода доступа "gin"
HINT:  Вы должны указать класс операторов для индекса или определить класс операторов по умолчанию для этого типа данных.
На тестовой базе все работает но в чем причина понять не могу.
Как это исправить?

модель
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
class Post(models.Model):
    autor = models.ForeignKey(
        settings.AUTH_USER_MODEL,
        on_delete=models.CASCADE,)
    title = models.CharField(max_length=120,
                             verbose_name='Title')  
    slug = models.SlugField(unique=True, verbose_name='URL')
    description = models.TextField(default='Description')
    keywords = models.CharField(max_length=120, default='Keywords')
    tags = models.ManyToManyField(TagsModel, blank=True, related_name='Tags')
    img = models.ImageField(upload_to='blog/%Y/%m/%d/',
                            blank=True,
                            verbose_name='Images')
    content = HTMLField()
    visible = models.BooleanField(default=1)
    updated = models.DateTimeField(auto_now=True,
                                   auto_now_add=False,
                                   verbose_name='Updated')  
    timestamp = models.DateTimeField(auto_now=False,
                                     auto_now_add=True,
                                     verbose_name='Create')  
 
    def __unicode__(self):
        return self.title
 
    def __str__(self):
        return self.title
 
    def get_absolute_url(self):
        return "/%s/" % (self.id)
 
    class Meta:
        indexes = [GinIndex(fields=["title"])]
        ordering = ["-id", "-timestamp"]
        verbose_name = 'Post'
        verbose_name_plural = 'Posts'
view.py
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
class Search(ListView):
    model = Post
    paginate_by = 2
    template_name = 'blog/partial/search.html'
 
    def get_queryset(self):
        queryset = super(Search, self).get_queryset()
        q = self.request.GET.get("q")
        if q:
            vector = SearchVector('title',
                                  'content',
                                  raw=True,
                                  fields=('title'))
            vector_trgm = TrigramSimilarity(
                'title', q, raw=True, fields=('title')) + TrigramSimilarity(
                    'content', q, raw=True, fields=('content'))
            a = queryset.annotate(search=vector).order_by('title').filter(
                search=q) or queryset.annotate(similarity=vector_trgm).filter(
                    similarity__gt=0.1).order_by('title')
            if not a:  # Если НЕ найдено
                return ["Not found!"]
            else:  # если НАЙДЕНО
                return a
        elif not q:  # Если ПУСТОЙ запрос
            return ["Empty search string."]
 
    def get_context_data(self, **kwargs):
        context = super().get_context_data(**kwargs)
        context['q'] = self.request.GET.get('q', 2)
        return context
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.07.2019, 20:18
Ответы с готовыми решениями:

Django testing with Postgres
Всем привет. Имеется следующее depends Django==2.2.4 psycopg2==2.8.3 django-easy-maps==1.0.2 settings

Контейнер с приложением django не подключается к контейнеру postgres (docker-compose)
Здравствуйте. Возникла проблема с разворачиванием проекта на django в docker. Джанговское приложение не хочет подключаться к postgres,...

Полнотекстовый поиск Postgres
Всем доброго! Возникла следущая проблема. Настроил локально полнотекстовый поиск (после добавления docx документа парсится текст, и...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.07.2019, 20:18
Помогаю со студенческими работами здесь

Поиск работы Python\Django
Ищу людей нуждающихся в Python\Django разработчике. Начальный уровень, имеется опыт в реализации проектов. Знания: Python,...

Настроить авторизацию через социальные сети в django с помощью Django Social Auth
Пытаюсь настроить авторизацию через социальные сети в django с помощью Django Social Auth, но вылетаю с ошибкой WrongBackend, не работает...

Django 2.0 восстановление пароля через django-allauth
Здравствуйте, у меня возник вопрос, в django-allauth есть функция восстановления пароля по эл. почте, но вот, указав почту, сообщение не...

Ошибка django: DoesNotExist at /catalog/ django
Здравствуйте. Пишу простейший сайт на django. Пока в нем есть верхняя панель навигации и боковое меню слева, содержание которого меняется в...

совместимость django-imagekit с релизами Django?
Скажите, пожалуйста, где в документации django-imagekit указана совместимость с релизами Django? А то попробовать уже переводить свой...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru