簡體   English   中英

Django(1.9)Watson索引Django Tagging TagField

[英]Django (1.9) Watson index Django Tagging TagField

如何索引由Django標記 (v0.4.5)TagField管理器管理的字段?

標簽全部正常工作, Watson (v1.2.1)正在對模型建立索引,並從搜索char和text字段中返回結果,但應該這樣做,但是如果搜索詞是標簽,則不會。

按照記錄在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)

並且具有tag TagField字段的Team模型都很好:

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)

任何人都知道如何獲取與char或text字段相同的字段索引嗎?

非常感謝Rich

最后,我刪除了Django Tagging,僅使用日期和名稱字符串創建了自己的“標簽”模型,然后在每個要標記的模型中添加了ManyToMany字段。 需要一些額外的邏輯來更新標簽池,但這似乎很容易,只需循環即可在保存關聯模型時測試tag.name.exists()。

具有這種簡單的字段類型也使Django Material表單易於為靜態標簽池添加選擇器,因此雙贏。

我仍然想知道是否有人可以通過模型管理器返回文本,因為我只學習了python和django開/關了幾個月,並且真的很喜歡它,所以想做一些適當的事情。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM