2016-10-03 3 views
0

Как я могу индексировать поле, которое управляется менеджером TagField Django Tagging (v0.4.5)?Django (1.9) Watson index Django Tagging TagField

Все теги работают правильно, и Watson (v1.2.1) индексирует модели и возвращает результаты поиска в текстовом и текстовом полях, как это должно быть, но не в том случае, если поисковый запрос является тегом.

регистрирующий делается в AppConfig как документировано:

from __future__ import unicode_literals 
from django.apps import AppConfig 
from watson import search as watson 

class TeamConfig(AppConfig): 
    name = 'team' 
    def ready(self): 
     Team = self.get_model("Team") 
     watson.register(Team, fields=("title_text", "tagline", "description", "tags")) 
     Member = self.get_model("Member") 
     watson.register(Member) 

и Team модель, которая имеет TagField поле tag все хорошо:

import blahs 
... 
from watson import search as watson 
from tagging.fields import TagField 
... 

class Team(models.Model): 
    pub_date = models.DateField('date published', auto_now_add=True) 
    title_text = models.CharField('Name', max_length=200, blank=False, 
    ... 
    tags = TagField() 
    is_active = models.BooleanField('Active?', default=True) 

Кто есть какие-либо идеи, как получить индексирование полей так же, как и поле символов или текстовое поле, пожалуйста?

спасибо Rich

ответ

0

В конце концов я вырван Django Tagging, создал свою собственную модель «метки» просто с датой и строкой с именем, а затем бросил ManyToMany поля в каждом из моделей быть помечены. Нуждается в дополнительной логике для обновления этого пула тегов, но это кажется достаточно простым с циклом для проверки, если tag.name.exists() при сохранении для связанных моделей.

Наличие этого простого типа поля также сделало Django Material form легко добавить селектор для статического пула тегов, чтобы выиграть.

Хотелось бы узнать, есть ли у кого-нибудь способ вернуть текст через диспетчера модели, поскольку я изучал python и django в течение нескольких месяцев и действительно люблю его, поэтому хочу делать что-то подходящее.

Смежные вопросы