[英]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.