2016-10-03 4 views
0

Wie kann ich ein Feld indexieren, das vom Django Tagging (v0.4.5) TagField Manager verwaltet wird?Django (1.9) Watson Index Django Tagging TagField

Die Tags funktionieren alle korrekt und Watson (v1.2.1) indexiert die Modelle und gibt die Ergebnisse aus der Suche in den Zeichen- und Textfeldern zurück, aber nicht, wenn der Suchbegriff ein Tag ist.

Die Registrierung in einer AppConfig erfolgt wie dokumentiert:

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) 

und das Team Modell, das die tag Tagfield Feld hat, ist alles gut:

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) 

Wer noch keine Idee, wie man die Feld-Indizierung wie ein Char oder Textfeld bitte?

Vielen Dank Reiche

Antwort

0

Am Ende habe ich Django Tagging herausgerissen, meine eigene Modell der ‚Tags‘ einfach mit einem Datum und einer Namenszeichenfolge und dann warf in jedem der Modelle ein ManyToMany Feld markiert sein. Benötigt einige zusätzliche Logik, um diesen Pool von Tags zu aktualisieren, aber das scheint einfach genug mit einer Schleife zu testen, wenn tag.name.exists() beim Speichern für die zugeordneten Modelle.

Mit diesem einfachen Feld Typ auch gemacht Django Material Form Weg einfach zu einem Selektor für die statische Pool von Tags hinzufügen auch zu gewinnen gewinnen.

Ich würde immer noch gerne wissen, ob jemand eine Möglichkeit hat, Text über einen Modellmanager zurück zu senden, da ich erst seit ein paar Monaten Python und Django ein- und ausschließe und es wirklich liebe und Dinge richtig machen will.

Verwandte Themen