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

Django поиск в Postgres

12.07.2019, 20:18. Показов 2350. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru